# Linux 搭建服务器 :::caution 确保你已经完成了 [**开始前的准备**](./1-1) 这个环节,并安装了合适的 JAVA 环境 ::: >根据不同核心,操作步骤略有不同,但整体非常相似。 ## 安装服务端 :::note 不同核心对应的服务端安装逻辑一般相同,但 Neoforge/Forge 这两个核心与其他核心相比略有不同。 ::: 下载服务端核心。 在官网选择好合适的版本后,右键并复制链接,使用 wget 进行下载。 ```bash wget 下载链接url ``` 下载完成后你的目录下会出现 `xxxxx-xxx-xx.jar` 文件。 :::caution 下载得到的服务器核心一般是一个jar文件,运行命令时请将 `xxxxx-xxx-xx.jar` 替换为实际 jar 文件全称。 ::: 创建一个目录,即文件夹,名称随意,如mc-server目录为例,创建后将 `xxxxx-xxx-xx.jar` 移动至新目录并进入该目录。 ```bash mkdir mc-server mv xxxxx-xxx-xx.jar mc-server cd mc-server ``` 使用如下命令安装并构建服务端根目录,以及加载协议文件。 ### 对于 Paper 及其 Fabric/Spigot 等核心 ```bash java -jar paper-xxx-xx.jar nogui ``` >此命令表示运行jar可执行文件,`nogui` 表示无需图形化。 在安装完成后会输出。 ``` [XX:XX:XX INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info. ``` 此时会在服务端根目录生成一个 `eula.txt` 文件,终端输出表示需要你去同意协议,在eula.txt中了解更多信息。 ### 对于 Neoforge/Forge 核心 ```bash java -jar neoforge-xx-xx-xx-installer.jar --install-server nogui ``` >此命令表示运行jar可执行文件,`nogui`表示无需图形化。 运行完成后会输出 ``` The server installed successfully You can delete this installer file now if you wish ``` 接下来需要运行启动脚本去加载协议文件。 给予启动脚本执行权限,否则我们无法运行脚本。 ```bash sudo chmod 711 run.sh ``` 随后运行以下命令来运行脚本。 ```bash ./run.sh ``` :::note Neoforge服务端下载会小概率因为网络原因出现错误,如果在服务端无法正常安装,可以选择在本地电脑进行安装然后上传到服务器,如果仍然无法成功安装,删掉本地服务端根目录除 `neoforge-xx-xx-xx-installer.jar` 以外的所有文件后,更换网络或使用热点重试(有些时候使用魔法报错比使用正常网络还快,这是我至今也搞不懂的,但是在我个人的环境中 **使用热点能很好地解决这一问题** ) ::: ## 配置服务端 使用vim编辑器同意协议,将末行的 `eula=false` 更改为 `eula=true` 如下 ```vim #By changing the setting below to TRUE you are indicating your agreement to our EULA (https://aka.ms/MinecraftEULA). #Sat XXX XX XX:XX:XX CST XXXX eula=true ``` 编辑server.properties文件 该文件已经是预设好的,不需要额外配置即可正常使用,可以根据需求进行对某些配置进行设置此处仅展示一些简单的讲解 关于该文件的更多配置请参阅[**Minecraft Wiki-server.properties详解**](https://minecraft.fandom.com/zh/wiki/Server.properties#Java%E7%89%88_3) ```bash vim server.properties ``` ```properties #Minecraft server properties #Sat Jan 10 12:20:36 CST 2026 accepts-transfers=false #允许通过 /transfer 命令使玩家服务器间传输。 allow-flight=false #是否允许飞行,与玩家能否飞行无关,若关闭,当玩家在空中停留过久会被踢出服务器。 allow-nether #服务器是否启用下界维度。 broadcast-console-to-ops=true #是否向所有在线OP发送所执行命令的输出 broadcast-rcon-to-ops=true #是否向所有在线OP发送通过RCON执行的命令的输出 bug-report-link= #bug反馈链接 debug=false #调试模式 difficulty=easy #难度 enable-code-of-conduct=false enable-jmx-monitoring=false enable-query=false enable-rcon=false #允许服务端控制台远程连接 enable-status=true enforce-secure-profile=true enforce-whitelist=false entity-broadcast-range-percentage=100 force-gamemode=false function-permission-level=2 gamemode=survival generate-structures=true generator-settings={} hardcore=false hide-online-players=false #隐藏在线玩家 initial-disabled-packs= initial-enabled-packs=vanilla level-name=world #存档文件夹的名称 level-seed= #地图种子 level-type=minecraft\:normal #世界类型,normal 表示普通主世界类型。 log-ips=true management-server-allowed-origins= management-server-enabled=false management-server-host=localhost management-server-port=0 management-server-secret=0y7vj7nMWbxZz446HCR01sE3f8yiCgLI1yzoc7fh management-server-tls-enabled=true management-server-tls-keystore= management-server-tls-keystore-password= max-chained-neighbor-updates=1000000 max-players=20 #最大玩家数 max-tick-time=60000 max-world-size=29999984 #最大世界尺寸 motd=A Minecraft Server #在多人游戏中显示的服务器副标题 network-compression-threshold=256 online-mode=true #在线模式,若打开,则会进行正版验证,离线玩家将无法进入,如果有离线玩家,建议关闭 op-permission-level=4 pause-when-empty-seconds=-1 player-idle-timeout=0 prevent-proxy-connections=false query.port=25565 rate-limit=0 rcon.password= #rcon远程控制台密码 rcon.port=25575 region-file-compression=deflate require-resource-pack=false resource-pack= resource-pack-id= resource-pack-prompt= resource-pack-sha1= server-ip= #服务器ip,建议留空 server-port=25565 #服务器端口号 simulation-distance=10 spawn-protection=16 #出生点保护范围 status-heartbeat-interval=0 sync-chunk-writes=true text-filtering-config= text-filtering-version=0 use-native-transport=true view-distance=10 #视距 white-list=false #是否开启白名单模式,开启后只有被添加到白名单的玩家才能加入服务器 ``` >请记住端口号,你将通过端口号连接到服务器 ## 运行服务端 配置完成后就可以开始开启服务器了,因为ssh远程会话的任务会随着会话关闭而结束,此时需要用到 `screen` 工具使我们的 MC 服务端在后台运行 >screen 是一个强大的后台会话管理工具,可以守护会话在后台运行,在你不需要的时候挂至后台,需要的时候进行重连继续管理。 >使用如下命令创建一个名为 server 的后台会话(你也可以在 -S 后指定自己想要的名称),创建后,会自动进入这个后台新会话。 ```bash screen -S server ``` >此处S要大写 ### 对于 Paper 核心,在后台会话中运行 ```bash java -jar paper-xxx-xx.jar nogui ``` 来启动服务器 ### 对于 Neoforge/Forge 核心 ```bash ./run.sh ``` 出现以下输出则启动成功 ```bash [12:48:50 INFO]: Done (13.140s)! For help, type "help" ``` 如果要临时离开 screen 后台会话,使用 `Ctrl+A 并松开,然后轻敲 D` 来临时离开会话 如果要重新进入这个后台对话,使用如下命令 ```bash screen -r server #此处填写你的会话名称 ``` ## 加入服务器 随后需要找到设备的公网ip,并确保 Minecraft 服务端端口对应的防火墙规则为开启,在你购买的云服务商控制台主页找到购买的云服务器,找到公网ip并复制,同时寻找安全组/防火墙等字眼,并前往该页面开启放通MC服务端端口对应的防火墙 此时进入与服务端版本相同的Minecraft客户端后,进入多人游戏,添加服务器,地址填写如下 ``` 你的公网ip:端口号 ``` 完成后随后即可看到在多人游戏中看到该服务器,此时Paper服务端已经搭建完成


***
--- 由 柏茯灵_RsDline 编写 ---
***