Linux 搭建MC(我的世界)服务器

快速搭建一个原版MC服务器, 与小伙伴快乐玩耍吧(~o ̄3 ̄)~

0%

环境: 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 # 用户许可文件, 同意使用才可以启动服务
├── libraries
├── logs
├── minecraft_server.1.19.2.jar
├── server.properties # 配置文件, 用来配置服务器选项
└── versions

修改eula.txt文件, 将eula=false改成eula=true, 同意用户许可协议.

vim eula.txt

或者使用命令快速替换

sed 's/eula=false/eula=true/g' eula.txt

没有正版账号的话修改下配置online-modefalse, 将正版验证关掉

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

当进度条跑完时, 会出现下面类似的提示, 同时这个页面也是一个控制台, 可以执行指令.

此时的文件目录是这样的👇

.
├── banned-ips.json
├── banned-players.json
├── eula.txt
├── libraries
├── logs
├── minecraft_server.1.19.2.jar
├── ops.json # OP 名单, 进入服务器后使用 /op <user> 添加
├── server.properties # 配置文件, 用来配置服务器选项
├── usercache.json
├── versions
├── whitelist.json # 玩家白名单, 配置文件设置 white-list=true 时启用
└── world # 世界存档, 极其重要

然后检查本地端口是否正常监听

netstat -tunlp | grep 25565

image-20221002114019788

如果是部署是在服务器上, 在其它服务器上测试端口是否接通; 在本地电脑部署的话, 可以使用同区域网下其它电脑连接测试, 如失败, 请检查端口是否开放以供外部访问

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

------------ 已触及底线了 感谢您的阅读 ------------
  • 本文作者: OWQ
  • 本文链接: https://www.owq.world/ff995d3a/
  • 版权声明: 本站所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处( ̄︶ ̄)↗