注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com
Minetest是流行游戏Minecraft的免费开源替代品。该服务器非常易于设置和运行。
先决条件
运行Ubuntu 17.04的1GB + VPS或专用实例。
wget(与 apt install wget
)。
文本编辑器。
步骤1:添加Minetest Stable存储库并安装服务器软件
由于Ubuntu倾向于使用Minetest软件包,因此您将使用稳定的PPA。可以使用以下命令添加它。
# add-apt-repository ppa:minetestdevs/stable
# apt update
之后,您可以安装服务器。
# apt install minetest
步骤2:创建用户,打开端口并测试服务器
出于安全性考虑,最好如图所示在其自己的用户中运行服务。
# useradd -mU minetest
这将创建您的 minetest
具有自己的组和运行服务器的主目录的用户。
测试之前,必须打开端口 30000
在Ubuntu的默认防火墙上,否则您将无法连接。
# ufw allow 30000
现在是测试服务器并查看其是否运行的好时机。
# su minetest
$ minetest --server
如果一切顺利,您将受到以下输出的欢迎:
WARNING[Main]: BanManager: creating /home/minetest/.minetest/worlds/world/ipban.txt
WARNING[Main]: NodeDefManager: Ignoring CONTENT_IGNORE redefinition
WARNING[Main]: /! You are using old player file backend. This backend is deprecated and will be removed in next release /!
WARNING[Main]: Switching to SQLite3 or PostgreSQL is advised, please read https://wiki.minetest.net/Database_backends.
ACTION[Main]: .__ __ __
ACTION[Main]: _____ |__| ____ _____/ |_ ____ _______/ |_
ACTION[Main]: / | |/ _/ __ __/ __ / ___/ __
ACTION[Main]: | Y Y | | ___/| | ___/ ___ | |
ACTION[Main]: |__|_| /__|___| /___ >__| ___ >____ > |__|
ACTION[Main]: / / / / /
ACTION[Main]: World at [/home/minetest/.minetest/worlds/world]
ACTION[Main]: Server for gameid="minetest" listening on 0.0.0.0:30000.
如果您收到上述有关播放器后端的警告,请不要担心,因为下一步将解决此问题。
使用客户端连接到服务器,以查看是否一切正常。您可以随时通过按以下方式停止服务器 Ctrl+C
在外壳里面的键盘上。
步骤3:配置Minetest服务器
首先,您将要下载示例 minetest.conf
配置文件。
$ cd ~/.minetest
$ wget https://raw.githubusercontent.com/minetest/minetest/master/minetest.conf.example
$ mv minetest.conf.example minetest.conf
该文件包含大量可能的设置供您修改和启用(通过取消注释行),但是目前您需要设置一些重要的设置。
服务器的名称和描述(例如):
server_name = Minetest server
server_description = Welcome to my Minetest Server
服务器的IP地址和所需的端口(例如):
bind_address = 203.0.113.1
port = 30000
如果您设置的端口与默认端口不同 30000
确保您更新了防火墙规则。
#ufw delete allow 30000
#ufw allow
另一个重要的选择是 name
。使用指定值连接到Minetest服务器的任何人都将被授予管理员特权。将此设置为所需的用户名,然后为您的帐户设置密码。
您可能会更早回忆起有关播放器后端的警告,因此必须淘汰使用旧后端,如果尚未使用,则必须切换到SQLite3。如果在步骤2中测试服务器时未收到此消息,则可以直接进行步骤4。
$ minetest --server --migrate-players sqlite3 --world ~/.minetest/worlds/world
之后,您应该会看到类似以下消息的内容。
ACTION[Main]: Successfully migrated 1 players
ACTION[Main]: world.mt updated
步骤4:在启动时运行服务器
为了在引导时运行服务器,需要systemd服务文件。幸运的是,这些创建起来非常简单。
退出回到您的root shell,然后将以下内容添加到 /etc/systemd/system/minetest.service
[Unit]
Description=Minetest Server
After=network.target
[Service]
Type=simple
User=minetest
Group=minetest
WorkingDirectory=/home/minetest
ExecStart=/usr/bin/minetest --server
Restart=on-abort
[Install]
WantedBy=multi-user.target
从现在开始,可以通过以下方式启动Minetest服务器 systemctl
(并且在重启或Minetest服务器崩溃后会自动这样做)
# systemctl enable minetest.service
# systemctl start minetest.service
同样,您可以通过替换以上命令中的“启动”来检查状态或停止/重新启动Minetest服务器。
结论
您的Minetest服务器应处于活动状态且可用。如果您在连接时遇到任何问题,请确认您的端口已打开,并且在中正确指定了IP地址 minetest.conf
。有关管理播放器权限和各种服务器命令的信息,请参见 Minetest维基。
注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com