image.png

背景

  1. 最近公司因为扩品类内容的事情,想要去运营mc(我的世界)这个游戏品类,搭建一个能产出高质量内容的社区版块,所以需要一定的抓手去拉一些kol,搭建小打卡私服成为了一个实验性需求被列上了日程,我也莫名其妙的成为了开发者。。<br />既然做了留一些记录吧,避免后来的人会踩同样的坑。

mc的基本知识

作为一个从没玩过mc的人说实话我在这里采了巨坑(最开始以为入口只有网易平台的那种,囧)。。

服务商划分

大概分为: 网易平台, 我的世界官服
这里说一句,私服的话貌似走的都是我的世界官服

客户端

mc客户端分为“启动器 + 游戏”,可以理解为steam/wegame平台,比较常见的:

  • 网易平台
  • 我的世界官服启动器(需要买正版账号)
  • 第三方启动器
    • HMCL
    • MultiMc
    • PCL

游戏就不说了,可以通过启动器直接下载,虽然没做过测试,只要是java版大致是通用的

服务端

服务端这块分为官服版, forage版,spigot版,其实有更多,这几个比较有代表性,其实主要区别在使用mod和plugin上,下面是一些区别:
image.png

连接云服务器

购买云服务器

首先得有个云服务器,我这边直接用的比较熟悉的阿里云,本质上只要能有台linux机器即可,至于配置这块没有深究过,直接配了台4核8G的机器,跑了5个人同时在线cpu没超过10%,要求不高的话可以先开台1核2G的机器试试,查了很多资料1核2G = 5个人的样子

打开安全组

私服的安装包默认端口号是 25565/25565,需要添加到安全组中,不然外部无法访问
image.png
具体怎么弄可以百度一下,挺简单的

SSH链接

找到公网ip地址,在本地起终端,没有特殊配置的话输入ssh root@xxx.xxx.xx.xxx即可
image.png

安装MC Server

下面的服务器操作基于centos,如果其他系统可以百度一下怎么弄,例如: ubuntu怎么安装java

安装java

《我的世界》这东西依赖于java开发环境,所以需要先安java包,一般java 8就行,不用搞太高的

  1. # 安装jdk
  2. sudo yun install java-1.8.0-openjdk
  3. # 测试是否安装成功
  4. java -version

整理Mc服务端代码包

这里就要决定你是要装forage版,spigot版还是其他,
下载地址的话这个论坛就很全,什么类型,都有推荐一波: https://www.mcbbs.net/forum-serverpack-1.html

下面的话我以spigot为例,下载地址: https://www.mcbbs.net/thread-925548-1-1.html

下载到本地后是个zip包,解压后大概是这个样子:
image.png

里面文件有些多,不过我们单纯只想开服的话,只需要记几个文件即可,如下:

  • plugins 插件包
  • ops.json 用户权限文件
  • server.properties 服务器设置文件
  • eula.txt 一个协议,想要启动服务端必须设为eula=true
  • Spigot-1.12.2.jar 启动文件

plugins

其实就是存放插件的地方,你有喜欢的插件可以去找jar包放在这个文件夹里即可,以刚才下载的服务包为例,如果你想玩纯净版且后续自己配置,清空文件夹放入自己需要的插件即可
image.png

server.properties

设置服务器的一些属性,比如生存模式,建筑模式,定义服务器的游戏难度等等,具体可以看:https://minecraft-zh.gamepedia.com/Server.properties

ops.json

用户权限记录文件,一般服主使用 /op 用户名 的命令就会在这个文件夹下生成json文本, 这个还挺重要的,有些插件需要用户有一定权限才能用,例如创世神插件,下面是大概的一个数据格式:

  • uuid 自动生成的
  • name 用户名
  • level 权限等级
  • bypassesPlayerLimit
    1. [
    2. {
    3. "uuid": "b8209fb9-11bd-4919-bad5-9b26d11e916a",
    4. "name": "TROTL",
    5. "level": 4,
    6. "bypassesPlayerLimit": false
    7. },
    8. ]

具体权限划分与能力:
image.png

eula.txt

没什么说的,改成true就完事

start.sh

这个不是服务包里自带的文件,主要是每次启动服务包都要输入下面的命令有点烦,简化一下

  1. # 启动命令
  2. java -Xms512m -Xmx7000m -jar Spigot-1.12.2.jar &

之后每次启动 bash start.sh 即可 (创建文件不会用vim的同学可以用记事本)

关于内存占用

  1. java -Xms512m -Xmx7000m -jar Spigot-1.12.2.jar &

这条命令里 -Xms512m , -Xmx7000m 是设置当前jdk所占用的最大内存和最小内存,不知道本机内存的同学可以使用free -m 命令查看:
image.png

可以看到三个字段total, used, free, 就字面翻译总共,已用,空闲,数字单位是m,只要最大值小于free的数即可,最小值一般性况下设为512m

启动MC

输入 start.sh`` 如果看到下面的提示和小箭头基本就已经成功了

image.png

客户端连接

这时候打开下载好的客户端,点击多人游戏 => 添加服务器 => 在服务器地址项输入我们的公网ip+端口号即可,如:123.453.12.312: 25565
image.png
image.png

加入成功~~

image.png

写在最后

需要注意的case

  • 云服务器一定记得开安全组的端口号
  • 客户端版本和服务端版本要一一对应,不能服务端1.11.1,客户端1.22.2
  • 私服的话貌似启动器哪一家都行,可以在中文论坛上找

资料站

我的世界全球wiki:https://minecraft-zh.gamepedia.com/Minecraft_Wiki
我的世界中文论坛:https://www.mcbbs.net/

有其他问题的话留评论吧~~