驰网飞飞 发表于 2024-7-18 14:48:39

我的世界服务器开服教程,小白适用!

一、租用服务器
在选择服务器时,需要考虑以下几个方面:服务器的配置、操作系统、安全性、价格等。建议选择知名度高、服务稳定的云服务提供商,比如阿里云、腾讯云等。

1、最低配置要求
CPU: 至少双核处理器,2.5GHz或以上
内存: 至少4GB RAM
硬盘空间: 至少需要200MB用于游戏核心文件,但建议留出更多空间用于世界保存和插件/模组
网络: 稳定的网络连接,带宽取决于预计的玩家数量
操作系统: Windows, Linux, 或其他支持Java的系统

2、推荐配置要求
对于中等规模的服务器(支持1030玩家):
CPU: 四核处理器,3.0GHz或以上
内存: 8GB RAM或更高
硬盘空间: SSD强烈推荐,至少100GB的空间
网络: 高速网络连接,1Gbps或更高

3、高性能配置要求
对于大型服务器(支持30+玩家):
CPU: 多核处理器,至少六核,3.5GHz或以上
内存: 16GB RAM或更高
硬盘空间: SSD,至少200GB的空间,具体取决于你计划创建的世界数量和大小
网络: 高速网络连接,10Gbps或更高
操作系统:Linux系统(Ubuntu发行版),不建议装Windows系统,会大大降低服务器性能,一两个人在线就会很卡。
服务器做好系统后可以看到公网IP,然后用SSH软件远程连接服务器,这里我推荐Putty或是堡塔,用户名默认root,Putty远程连接输入密码时密码并不会显示,直接输入回车即可


开放服务器端口
进入服务器控制台-防火墙-添加规则
应用类型:自定义
协议:TCP
端口范围:25565
备注:Minecraft

二、搭建服务器
1、进入服务器后先安装screen
sudo apt install screen
2、搭建Java环境
1.16及之前版本,需要安装Java8
sudo apt install openjdk-8-jdk
1.17需要安装Java16,1.18及以上需要Java17
sudo apt install openjdk-16-jdk如果安装过程中询问“Do you want to continue? ”,直接敲击回车即可。

3、检查Java环境是否安装正确。
java -version
如果出现以下情况,说明安装成功:
openjdk version "1.8.0_265"
OpenJDK Runtime Environment (build 1.8.0_265-8u265-b01-0ubuntu2~18.04-b01)
OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode)
三、下载并上传Minecraft服务器核心
1、进入Minecraft官网下载地址,下载服务器核心。
2、使用Xftp传输到服务器的一个空文件夹中(比如/user/McServer)。直接鼠标拖过去即可。

四、开服
1、远程连接服务器,创建screen。
screen -S Minecraft
这里的screen相当于一个分屏,能够让你即使退出服务器的远程连接,MC的服务端也能正常运行。
退出screen:Ctrl+A+D
进入已创建的screen:
screen -r
2、进入Minecraft服务器核心所在的文件夹
cd <你的文件路径>
比如:
cd /usr/McServer1.16/
3、运行服务器核心
java -Xmx1024M -Xms1024M -jar <服务器核心的文件名> nogui
比如:
java -Xmx1024M -Xms1024M -jar minecraft_server.1.16.4.jar nogui
你会收到如下的报错信息,需要我们同意相关协议:
: Failed to load properties from file: server.properties
: Failed to load eula.txt
: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
4、同意相关协议:
vim eula.txt然后按一下键盘上的“A”,调整为输入模式;通过上下左右键,调整光标位置,把最后一行的“false”修改为"true"
修改完成后按下“Esc”,输入“:wq”

5、修改服务器的相关配置
vim server.properties该文件中全部是相关的配置,各个含义可以在Wiki中一一查看:
值得注意的是,我们通常会修改下列配置:
gamemode(游戏模式。survival-生存模式;creative-创造模式;adventure-冒险模式;spectator-旁观模式)
difficulty(游戏难度。peaceful-和平;easy-简单;normal-普通;hard-困难)
pvp(true-玩家可以互相残杀;false-玩家无法互相造成伤害)
max-players(最大同时在线人数限制)
online-mode(正版验证。true-开启;false-不开启)
motd(服务器简介)
修改、保存退出

6、重新开服,再次运行代码:
java -Xmx1024M -Xms1024M -jar <服务器核心的文件名> nogui注意:
-Xmx1024M:表示服务器最大运行内存为1024M
-Xms1024M:表示服务器最小运行内存为1024M

你可以根据自身需要,增加最大运行内存(例如-Xmx2G:表示最大运行内存为2G,1G=1024M),内存越大,能够同时容纳的玩家数量越多。你要保证最大内存大于最小内存,且不建议低于1024M。

服务器自动创建地图并启动,直到看到如下代码,说明服务器启动完成:
Done (38.126s)! For help, type "help"
五、进入游戏
打开游戏,进入“多人游戏”
选择“添加服务器”
服务器名称:(随意)
服务器地址:你的公网IP
完成!点击选中刚刚添加的服务器,点击“加入服务器”,和好朋友一起开黑吧!至此,我们成功开服,如果你仅仅和两三个好朋友一起,那么和你的小伙伴就可以开心的玩耍啦!!!

六、非正版服务器 · 关于白名单的坑
开启白名单的方式:
1、修改server.properties中whitelist : true
2、在服务器或管理员输入指令whitelist on其他相关命令:
whitelist add <玩家>:将玩家添加到白名单
whitelist list:查看白名单
whitelist off:关闭白名单
whitelist on:开启白名单
whitelist reload:重新加载白名单
whitelist remove <玩家> :将玩家移出白名单

值得注意的是,每一位玩家都有一个uuid,它是一串号码,相当于我们的身份证号,无论是验证白名单,或是存储我们个人的物品、位置信息,都是以uuid为依据的,而不是我们的昵称。

但我们作为新用户,第一次生成uuid时,是根据用户昵称,利用特殊算法生成的。注意,此时生成uuid所依据的昵称是区分英文大小写的。

而我们关闭正版验证时(online-mode:false),此时在服务器中输入指令增加白名单,服务器无法向mojang服务器查询你的uuid,便会自己根据同样的算法,依据玩家昵称生成uuid后,加入白名单。但此时,服务器会强制将玩家的昵称转变为小写字母后,再依据这个全小写的昵称生成uuid。这一魔幻的操作会导致一些大小写混拼的玩家无法的真实uuid与白名单里的uuid不一致,从而无法加入白名单里面。

解决方案1:
在开启白名单前,设置一个管理员:
op <玩家>该管理员进入游戏,再游戏中输入上述指令,并添加、移除白名单。在游戏中输入的指令(而不是在服务器后台),对玩家昵称是区分大小写的,不会发生上述问题。
但是这一解决方案依然有缺陷,对于非正版玩家,从根源入手的解决方案是使用authlib-injector。

七、authlib-injector(正版玩家请跳过)
既然uuid是依据玩家昵称所生成,那么如果两个玩家昵称相同怎么办?
正版玩家注册时会被要求不得重名。
每个皮肤站(如littleskin)也会要求注册时不得重名。
但两个不同的皮肤站中,两个昵称相同的玩家进入服务器,岂不是要乱套。authlib-injector会限制玩家必须从某个特定的皮肤站登录,其他服务器不得进入,并且提供伪正版验证。

使用方法:
1、下载authlib-injector文件,并与服务器核心放在同一个文件夹下。
2、将服务端的online-mode设置为true。
3、关闭服务器,重新启动时,在其启动命令中添加以下参数:
-javaagent:{authlib-injector.jar}={https://your-yggdrasil-api-root.com}● {authlib-injector.jar} 表示你下载authlib-injector的文件名。
● {your-yggdrasil-api-root.com} 表示验证服务器的 URL。

假设:
● 你下载到的 authlib-injector的文件名为:authlib-injector-1.1.37.jar。
● 验证服务器的 URL 为 example.yggdrasil.yushi.moe。
● 你原本的启动命令是:
java -Xmx1024M -Xms1024M minecraft_server.1.17.jar nogui那么添加参数后,新的命令行应该如下:
java -Xmx1024M -Xms1024M -javaagent:authlib-injector-1.1.37.jar=https://example.yggdrasil.yushi.moe -jar minecraft_server.1.17.jar nogui
八、关于插件服务器的安装
插件服务器核心不同于官方提供的服务器核心,他们可以自由添加插件,如聊天系统,商城系统、地皮系统等等
目前有许多种类的服务器核心,例如Bukkit水桶服、Spigot水龙头服、Paper等,这里我们以Spigot为例,来简单介绍一些原版生存常用的插件。
Spigot与原版服务器核心一致性较高,极大的还原了原版玩法的特性,同时能够安装插件,并且操作简单。

1、获取Spigot服务器核心:
下载构建核心所需的文件:
下载后,进入buildToos.jar所在的目录,执行以下代码:
java -jar BuildTools.jar --rev 1.18.2
其中后面的“1.18.2”为你想要构建核心的版本。代码执行需要一定的时间,请耐心等待20分钟左右。国内由于网络原因,可能会执行失败,你需要使用一些魔法,或者你可以把buildToos.jar上传到服务器上,在服务器上面构建(我这样搞成功了)。
最后你会得到一个 spigot-1.18.2.jar 的文件,这就是我们所需要的核心文件,和一堆乱七八糟的东西,我们只保留 spigot-1.18.2.jar 其余的可以删除。

2、启动服务器。这个步骤与普通开服相同,仅仅替换不同的服务器核心即可,参考上文的第三步即可。
3、启动成功后,文件夹下将比普通服务器核心多出来一个“plugins”文件夹,这就是我们需要放插件的地方。

九、部分插件的简单介绍
大部分插件都是一个 jar 文件,我们将其下载下来,放入“plugins”文件夹后,重启服务器即可生效。每个插件的作用、用法都不尽相同,这里简单推荐几个比较好用的插件:
1、LuckPerms,权限组管理插件。给玩家们分组,并精准控制每一组玩家可执行什么指令。
2、MOTD,让你拥有五颜六色的服务器简介。
3、CoreProtect,防熊孩子必备。能够查询方块的历史状态,每个玩家的所有行为,还可以配合mysql存储。
4、Chat2QQ,需要MiraiMC作为前置插件。将QQ群消息与服务器内消息相互同步。
5、SpigotPing,按下TAB键可以显示各个玩家延迟的毫秒数。
6、ViaVersion,跨版本插件。可以让不同版本的客户端进入服务器。

......每个插件生效后,都会在“plugins”文件夹内生成一个自己的文件夹,里面的config.yml为该插件的配置文件,大家可以根据不同插件的使用方法来修改配置。修改完成后,保存文件并重启服务器生效。

感谢您的阅读,服务器大本营-技术文章内容集合站,助您成为更专业的服务器管理员!
页: [1]
查看完整版本: 我的世界服务器开服教程,小白适用!