我的世界服务器搭建以及mod安装

  • 服务器准备(推荐使用Linux系统)
  • 阿里云服务器购买
  • xshell、xftp连接服务器
  • 1.安装配置java环境,java8
  • 2.安装虚拟终端screen
  • 3.获取mc服务器jar包
  • 4.首次启动mc服务器端
  • 5.同意最终用户许可协议 EULA
  • 6.根据需要修改server.propertices配置文件
  • 7.服务正常启动后打开服务器防火墙、打开阿里云防火墙
  • 7.安装forge
  • 8.后续问题


服务器准备(推荐使用Linux系统)

阿里云服务器购买

没有服务器的话,可以在阿里云购买一台服务器,新用户打折,选择2G内存以上的ESC服务器就基本可以满足了,当然更大也就更好,几个人玩的话这个配置就够了。

阿里云–最新活动–新人福利专场–选择服务器就行购买

我这边选择的是Centos8,按固定宽带,2MBps

我的世界云服务器带宽 我的世界cloud服务器_服务器

  1. 购买完成的等系统创建好,一般会来短信。
  2. 系统创建完毕后点击右上角的控制台
  3. 点击左上角阿迪(就是哪个三条横杠的图标),点击云服务器Esc
  4. 点击左侧导航栏的实例

    ##远程工具、服务jar包、1.12.2mod 资源

xshell、xftp连接服务器

我的世界云服务器带宽 我的世界cloud服务器_我的世界云服务器带宽_02

因为阿里云远程连接有文件上传限制,所以咱们选择xshell和xftp,当然其它的远程连接工具也行。

我的世界云服务器带宽 我的世界cloud服务器_jar包_03

输入完成后点击确定,连接成功后进行下一步,分别输入账号、密码(假如连不上可能是阿里云防火墙限制了,可以看步骤7)

1.安装配置java环境,java8

这个是运行服务端的基本环境(高版本的mc服务器,比如1.1.4以上的版本安装高版本的jdk性能会更好,当然jdk8也都是可以适用的)

yum install -y java-1.8.0-openjdk

2.安装虚拟终端screen

为了让此服务器程序后台运行,可以安装虚拟终端screen
(可以先看后面的步骤,需要使用了再来看这个)

yum install -y screen

其实看1、5、6就能使用了,其它点只是补充

screen解析:
1、新建一个screen
直接 screen或者 `screen -S XXX`( XXX是你为这个screen指定的名字)
2、在screen中新建一个虚拟终端(此时你的screen中就有了两个虚拟终端了)
ctrl+a+c(先按 ctrl+a,然后再按 c,下面的命令也一样)
3、在虚拟终端之间切换
前一个 ctrl+a+p
后一个 ctrl+a+n
列表选择 ctrl+a+shift+"
4、关闭一个虚拟终端
`ctrl+a+k`或者 exit
5、挂起screen(会跳到主窗口)
ctrl+a+d
6、连接screen
`screen -ls`列出当前可链接的 screen
比如有这样一条“ 8888.XXX (Detached)”
那么可以使用`screen -r 8888`或者`screen -r XXX`来重新连接。
7.删除一个窗口
screen -R 窗口id -X quit

3.获取mc服务器jar包

创建/app/mc目录(自行创建目录就行)

mkdir app
cd /app
mkdir mc
cd mc

wget https://s3.amazonaws.com/Minecraft.Download/versions/[version]/minecraft_server.[version].jar
(或者手动下载传到服务器上去,下载地址: https://minecraft.net/zh-hans/download/server/

如采用1.11.2版本服务器端

wget https://s3.amazonaws.com/Minecraft.Download/versions/1.11.2/minecraft_server.1.11.2.jar

4.首次启动mc服务器端

注意启动的文件路径不要写错了
方法一

java -Xms**m -Xmx**m -jar [path]/minecraft_server.[version].jar nogui

1.11.2版本
java -Xms512m -Xmx2048m -jar /root/mc/minecraft_server.1.11.2.jar nogui
-Xms:初始启动分配的内存(-Xms512m)
-Xmx:最大分配的内存(-Xmx2048m)
nogui:用于以基于文本的界面来显示,可减少内存使用。如果使用图形化界面,那么移除nogui选项。
方法二
shell脚本启动
vim start-mc.sh(创建sh执行文件)
往里面复制“方法一“的执行命令
按esc键,然后再按:再输入wq!(保存修改)
后续直接执行文件来启动
./start-mc.sh启动执行

5.同意最终用户许可协议 EULA

首次启动不会成功启动,会生成一个eula.txt 文件。用vim打开,将行 eula = false 更改为 eula = true,并保存文件,表示同意许可协议。

vim eula.txt

改完后按esc键,然后再按:再输入wq!(保存修改)

6.根据需要修改server.propertices配置文件

修改服务器端server.propertices文件:

vim server.propertices

非正版登录(客户端是正版的小伙伴建议别更改)
把 online_mode=true 改成online_mode=false再启动服务
这个选项表示是否连接正版服务器验证用户。

其中server.propertices是mc服务端配置文件,可设置游戏难度、世界类型、游戏模式、允许玩家数量、世界大小、黑白名单等等,每次修改都要重新启动服务器才能生效

配置文件解析:

generator-settings= #井号开头的内容为注释
 op-permission-level=4 #op权限等级
 allow-nether=true #允许末地
 level-name=world #主世界文件夹名称
 enable-query=false #是否开启GameSpy4协议服务器监听器
 allow-flight=true #是否允许飞行
 announce-player-achievements=true #公布玩家成就信息
 server-port=25566 #服务器端口
 level-type=DEFAULT #世界类型
 enable-rcon=false #是否开启rcon监听
 force-gamemode=false #force游戏模式
 level-seed= #服务器种子
 server-ip=192.168.19.32 #服务器指向ip
 max-build-height=256 #建筑最大高度
 spawn-npcs=false #是否有主城NPC
 white-list=false #是否开启白名单
 spawn-animals=true #是否允许动物生成
 hardcore=false #是否开启极限模式
 snooper-enabled=false #是否给snoop.minecraft.net网站发送服务器数据,推荐关闭
 online-mode=false #是否联网游戏(非正版一定要改false)
 resource-pack= #服务器资源包下载地址
 pvp=true #是否开启pvp
 difficulty=3 #服务器难度 和平0~3困难(自行调整)
 enable-command-block=true #是否开启命令方块
 server-name=Server #服务器名称
 gamemode=0 #游戏模式
 player-idle-timeout=0 #服务器最长挂机时间
 max-players=20 #最大玩家数
 spawn-monsters=true #是否允许生成怪物
 generate-structures=true #是否生成建筑物
 view-distance=10 #可见距离
 motd=Server #服务器标语

7.服务正常启动后打开服务器防火墙、打开阿里云防火墙

1.开放端口(对应自己设置的端口,默认是25565)

firewall-cmd --zone=public --add-port=25566/tcp --permanent

2.重启防火墙

firewall-cmd --reload

3.查看已开放的端口

firewall-cmd --list-ports

4.再登录阿里云打开添加设置安全组规则

我的世界云服务器带宽 我的世界cloud服务器_我的世界云服务器带宽_04


5.打开mc客户端测试连接(端口要是默认没改的话连接地址就是服务器公网ip)

6.另外服务器启动后可以在后台执行命令。如设置超级管理员op命令:
op player1 # 把player1角色设为op,然后player1到游戏里就能输入作弊码了。
玩家第一次进入游戏是不能破坏方块的,需要给予相应的权限,要是不懂直接给管理员权限就可以了。

7.安装forge

若要在服务器上安装mod,需要下载相应版本的forge jar包,比如1.12.2-14.23.5.2855/forge-1.12.2-14.23.5.2855-universal.jar
同客户端.minecraft文件夹下libraries目录一起拷贝到服务器端(同服务器jar位于同一目录)可以使用wget下载forge包

wget https://files.minecraftforge.net/maven/net/minecraftforge/forge/1.12.2-14.23.5.2855/forge-1.12.2-14.23.5.2855-universal.jar

然后执行或修改编写的执行脚本(得把前面纯净服关了再执行启动):

java -Xms512m -Xmx768m -jar /root/mc/forge-1.12.2-14.23.5.2855-universal.jar nogui
./start-mc.sh启动执行
执行成功后就会生成mods目录,然后将相关mod的jar包放到mods目录里,重启服务器就可以了(后续启动服务器都是用上面forge jar包的命令)

forge下载地址(可以自行到官网下载)
1.12.2-forge1.7.10-forge 就是国外网站有点慢

另外本人有开设服务器,免费加群游玩只为了心情愉悦(qq群684897716)

8.后续问题


后台报

com.mojang.authlib.GameProfile@23d78052[id=,name=qianguo,properties={},legacy=false] (/112.224.150.195:20684) lost connection: Disconnected

需要把服务端server.properties文件中的
online-mode=true改成online-mode=false
再重启服务端,重新连接就可以了


在恢复 screen 时会出现 There is no screen to be resumed matching ****

screen -d ****

然后再恢复就行了
(一种情况是,在打开screen时,突然断网,虽然重新连接,但之前的screen还是处于打开状态(1个screen无法同时打开2次),所以无法重新打开screen,需要先用-d将其退出,再-r进入)
3.
日志提示缺少类文件,可能是上传的libraries不完整,建议重新下载一个版本对应的纯净客户端,然后上传libraries文件包

本人也只是开服和自己的小伙伴玩耍,没有其它的设置,有其他问题、不知道jar包和mod资源获取可以评论。