环境: Ubuntu20.04 + ♨Java 17.0.4
下载服务器包
创建文件夹用于存放服务器文件
mkdir -p ~/MC/server && cd ~/MC/server |
下载服务器jar文件, 这里下载的是1.19.2
版本
wget -c -O minecraft_server.1.19.2.jar https://piston-data.mojang.com/v1/objects/f69c284232d7c7580bd89a5a4931c3581eae1378/server.jar |
如要使用最新版可前往下载页面获取
Minecraft Server Download | Minecraft
右击复制下链接
替换掉命令中的<url>
即可, <version>
替换成对应的版本号
注意之后有关文件名的命令也要手动修改, 不可以直接复制使用, 不然会提示找不到文件的
wget -c -O minecraft_server.<version>.jar <url> |
Java环境准备
查看Java版本, Minecraf
版本>=1.18
, Java
版本需>=17
java -version |
没有Java环境可以使用以下命令快速安装
apt update && apt install -y openjdk-17-jre-headless |
P.S 详细教程前往: Linux下安装Java环境 | Sunny was born (owq.world)
初始化运行
运行一下服务器文件
java -Xmx1024M -Xms1024M -jar minecraft_server.1.19.2.jar nogui |
没有报错的话会输出以下内容
当前目录下会生成几个文件, 此时目录结构是这样的👇
. |
修改eula.txt
文件, 将eula=false
改成eula=true
, 同意用户许可协议.
vim eula.txt |
或者使用命令快速替换
sed 's/eula=false/eula=true/g' eula.txt |
没有正版账号的话修改下配置online-mode
为false
, 将正版验证关掉
sed 's/online-lmode=true/online-mode=false/g' server.properties |
服务器配置
P.S 快速跑完Dome的话, 这部分可以跳过, 直接到 下一节
备份一下配置
cp server.properties server.properties.bk |
修改配置文件server.properties
vim server.properties |
P.S 仅列举部分使用配置
世界相关
- level-seed - 世界种子, 生成世界前配置才会生效, 字符串, 默认为空
- difficulty - 游戏难度, 字符串, 默认为 easy
- peaceful - 和平
- easy - 简单
- normal - 普通
- hard - 困难
- gamemode - 游戏难度, 字符串, 默认为 survival
- survival - 生存模式
- creative - 创造模式
- adventure - 冒险模式
- spectator - 旁观模式
- hardcore - 硬核模式(死后不能复活), Bool值, 默认为
false
- max-world-size - 世界半径(地图大小), 整数(1-29999984), 默认29999984
- 设置 max-world-size为1000将会有2000×2000的地图边界
- 设置 max-world-size为4000将会有8000×8000的地图边界
- max-build-height - 建造高度, 整数, 默认256
- spawn-protection - 出生点保护半径, 整数, 默认16
- allow-flight - 允许飞行(需要mod), Bool值, 默认为
false
- allow-nether - 开启下界, Bool值, 默认为
true
服务器
online-mode - 正版验证, bool值, 默认为
ture
pvp - 启用玩家伤害, bool值, 默认为
ture
server-port - 服务器连接端口, 整数(1-65534), 默认25565
max-players - 服务器最大人数, 整数, 默认20
motd - 服务器描述, 字符串, 默认为
A Minecraft Server
如设置成
\u00A7ki \u00A79M \u00A7ai \u00A7bn \u00A7ce \u00A7dc \u00A7er \u00A76a \u00A7ff \u00A77t \u00A7ki
, 描述会是这样👇P.S 在服务器目录下添加大下为
64*64
命名为server-icon.png
的图片会变成服务器图标👆详细见-> 格式化代码
enforce-whitelist - 是否启用白名单, Bool值, 默认为
false
resource-pack - 资源包地址, 字符串, 默认为空
性能
view-distance - 服务器区块渲染距离, 整数(3-32), 默认10
决定了服务端的最大可视距离
entity-broadcast-range-percentage 控制实体需要距离玩家有多近才会将数据包发送给客户端, 整数(10-1000), 默认100
simulation-distance - 可更新区块的最大值, 整数(3-32), 默认10
以玩家为中心的活跃区块, 超过最大区块的区块, 如红石设备不会运转.spawn-animals - 是否生成动物, bool值, 默认为true
spawn-monsters - 是否生成怪物, bool值, 默认为true
高级
- enable-command-block - 是否启用命令方块, Bool值, 默认为
false
- admin-slot - 允许OP在服务器人满时也能加入游戏, Bool值, 默认为
false
- previews-chat - 启用聊天预览功能, Bool值, 默认为
false
正式启动
再次运行启动命令, 会开始加载世界及必要的配置
java -Xmx1024M -Xms1024M -jar minecraft_server.1.19.2.jar nogui |
当进度条跑完时, 会出现下面类似的提示, 同时这个页面也是一个控制台, 可以执行指令.
此时的文件目录是这样的👇
. |
然后检查本地端口是否正常监听
netstat -tunlp | grep 25565 |
如果是部署是在服务器上, 在其它服务器上测试端口是否接通; 在本地电脑部署的话, 可以使用同区域网下其它电脑连接测试, 如失败, 请检查端口是否开放以供外部访问
telnet <IP> 25565 |
一切就绪后启动MC, 点击多人游戏->添加服务器就可以进入了
输入IP和端口, 如 127.0.0.1:25565
一切顺利就能连接到服务器了
进入游戏后, 控制台处应会看到类似的日志输出
P.S 如果使用SSH链接的话, 关闭窗口服务会被终止, 可以使用 TMUX 或其它任务管理工具将其挂在后台
参考文档
https://minecraft.fandom.com/wiki/Tutorials/Setting_up_a_server
https://minecraft.fandom.com/wiki/Server.properties