背景
最近公司因为扩品类内容的事情,想要去运营mc(我的世界)这个游戏品类,搭建一个能产出高质量内容的社区版块,所以需要一定的抓手去拉一些kol,搭建小打卡私服成为了一个实验性需求被列上了日程,我也莫名其妙的成为了开发者。。<br />既然做了留一些记录吧,避免后来的人会踩同样的坑。
mc的基本知识
作为一个从没玩过mc的人说实话我在这里采了巨坑(最开始以为入口只有网易平台的那种,囧)。。
服务商划分
大概分为: 网易平台, 我的世界官服
这里说一句,私服的话貌似走的都是我的世界官服
客户端
mc客户端分为“启动器 + 游戏”,可以理解为steam/wegame平台,比较常见的:
- 网易平台
- 我的世界官服启动器(需要买正版账号)
- 第三方启动器
- HMCL
- MultiMc
- PCL
- …
游戏就不说了,可以通过启动器直接下载,虽然没做过测试,只要是java版大致是通用的
服务端
服务端这块分为官服版, forage版,spigot版,其实有更多,这几个比较有代表性,其实主要区别在使用mod和plugin上,下面是一些区别:
连接云服务器
购买云服务器
首先得有个云服务器,我这边直接用的比较熟悉的阿里云,本质上只要能有台linux机器即可,至于配置这块没有深究过,直接配了台4核8G的机器,跑了5个人同时在线cpu没超过10%,要求不高的话可以先开台1核2G的机器试试,查了很多资料1核2G = 5个人的样子
打开安全组
私服的安装包默认端口号是 25565/25565,需要添加到安全组中,不然外部无法访问
具体怎么弄可以百度一下,挺简单的
SSH链接
找到公网ip地址,在本地起终端,没有特殊配置的话输入ssh root@xxx.xxx.xx.xxx即可
安装MC Server
下面的服务器操作基于centos,如果其他系统可以百度一下怎么弄,例如: ubuntu怎么安装java
安装java
《我的世界》这东西依赖于java开发环境,所以需要先安java包,一般java 8就行,不用搞太高的
# 安装jdk
sudo yun install java-1.8.0-openjdk
# 测试是否安装成功
java -version
整理Mc服务端代码包
这里就要决定你是要装forage版,spigot版还是其他,
下载地址的话这个论坛就很全,什么类型,都有推荐一波: https://www.mcbbs.net/forum-serverpack-1.html
下面的话我以spigot为例,下载地址: https://www.mcbbs.net/thread-925548-1-1.html
下载到本地后是个zip包,解压后大概是这个样子:
里面文件有些多,不过我们单纯只想开服的话,只需要记几个文件即可,如下:
- plugins 插件包
- ops.json 用户权限文件
- server.properties 服务器设置文件
- eula.txt 一个协议,想要启动服务端必须设为eula=true
- Spigot-1.12.2.jar 启动文件
plugins
其实就是存放插件的地方,你有喜欢的插件可以去找jar包放在这个文件夹里即可,以刚才下载的服务包为例,如果你想玩纯净版且后续自己配置,清空文件夹放入自己需要的插件即可
server.properties
设置服务器的一些属性,比如生存模式,建筑模式,定义服务器的游戏难度等等,具体可以看:https://minecraft-zh.gamepedia.com/Server.properties
ops.json
用户权限记录文件,一般服主使用 /op 用户名
的命令就会在这个文件夹下生成json文本, 这个还挺重要的,有些插件需要用户有一定权限才能用,例如创世神插件,下面是大概的一个数据格式:
- uuid 自动生成的
- name 用户名
- level 权限等级
- bypassesPlayerLimit
[
{
"uuid": "b8209fb9-11bd-4919-bad5-9b26d11e916a",
"name": "TROTL",
"level": 4,
"bypassesPlayerLimit": false
},
]
具体权限划分与能力:
eula.txt
没什么说的,改成true就完事
start.sh
这个不是服务包里自带的文件,主要是每次启动服务包都要输入下面的命令有点烦,简化一下
# 启动命令
java -Xms512m -Xmx7000m -jar Spigot-1.12.2.jar &
之后每次启动 bash start.sh
即可 (创建文件不会用vim的同学可以用记事本)
关于内存占用
java -Xms512m -Xmx7000m -jar Spigot-1.12.2.jar &
这条命令里 -Xms512m
, -Xmx7000m
是设置当前jdk所占用的最大内存和最小内存,不知道本机内存的同学可以使用free -m
命令查看:
可以看到三个字段total, used, free, 就字面翻译总共,已用,空闲,数字单位是m,只要最大值小于free的数即可,最小值一般性况下设为512m
启动MC
输入
start.sh`` 如果看到下面的提示和小箭头基本就已经成功了
客户端连接
这时候打开下载好的客户端,点击多人游戏 => 添加服务器 => 在服务器地址项输入我们的公网ip+端口号即可,如:123.453.12.312: 25565
加入成功~~
写在最后
需要注意的case
- 云服务器一定记得开安全组的端口号
- 客户端版本和服务端版本要一一对应,不能服务端1.11.1,客户端1.22.2
- 私服的话貌似启动器哪一家都行,可以在中文论坛上找
资料站
我的世界全球wiki:https://minecraft-zh.gamepedia.com/Minecraft_Wiki
我的世界中文论坛:https://www.mcbbs.net/
有其他问题的话留评论吧~~