概述
搭建多人在线服务器
选择硬件
建议您使用VPS或专用服务器托管要公开使用的游戏服务器。住宅Internet连接往往不可靠,并且上传速度也较慢。在家托管时,您可能也无法使服务器保持24/7联机状态。
话虽这么说,如果您有一些可以保持在线的硬件,并且拥有足够的Internet连接,在家托管将可以正常工作。
虽然您可以通过Minetest客户端托管服务器-这对LAN游戏来说很好-但您仍想使用Minetest专用服务器模式托管公共服务器。
如果你需要付费的技术支持可以到论坛的交易市场发布需求。
获取服务器程序
编译安装Minetest服务器端请看下面的帖子
直接下载服务器端程序
运行服务器
Linux操作系统
- 打开一个终端。
- 输入
YOUR/MINETEST/DIRECTORY/bin/minetestserver
或只是将minetestserver可执行文件(位于中/Minetest/bin/
)放到终端中**(请阅读下面的注释!)**
- 如果要指定特定的游戏ID,则游戏ID选项位于中
/Minetest/games/
。添加到命令末尾。--gameid thegameid
- 如果出现错误“可以使用多个世界”,则世界选择位于
/Minetest/worlds/
。添加到命令末尾。--worldname theWorld
- 如果您的服务器崩溃,然后看看
debug.txt
在/Minetest/bin/
- 确保使服务器免受破坏。
为了易于使用,您可以创建一个名为minetestserver.sh的文件,在下面添加以下行并将其放在/ Minetest / bin /文件夹中。要运行服务器,只需在终端中运行文件。
#!/bin/bash
while true
do
./minetestserver --gameid minetest --worldname world
sleep 10
done
Window
如果你是搭建专业的游戏服务器,window并非最佳实践
- 进入Minetest安装文件夹,打开命令提示符,然后在“ bin”文件夹中,按住Shift,右键单击一个空文件(不在minetest.exe上),然后单击“此处打开命令窗口”。
- 输入:
minetest.exe --server
。
- 如果您收到错误“多世界是可用的。”,使用代替,这里是世界的名字。
minetest.exe --server --worldname world_name
world_name
- 如果您的服务器崩溃,然后看看
debug.txt
在/Minetest/bin/
- 确保使服务器免受破坏。
如果您不想启动崩溃的服务器,只需从包含以下代码的批处理文件中启动服务器即可:
@echo off :crash minetest.exe --server --worldname *world_name* goto crash
允许外部玩家连接
除非您进行端口转发,否则网络外部的玩家将无法加入服务器。有关端口转发的技术支持,我们在另一贴中提到
- 选择运行服务器的端口。建议使用默认值30000
- 找出正在运行服务器的计算机的内部IP
-
Linux :打开终端并输入,
ifconfig
然后按Enter。在“ wlan0”或“ eth0”附近寻找“ inet adr”。在centos7以后等其他时髦的发行版本中 这个命令逐渐被抛弃,取而代之的是ip命令 -
Windows
- 打开命令提示符:开始→运行…,输入
cmd.exe
并按Enter。 - 键入
ipconfig
并按Enter键。 - 寻找
IPv4 Address
。
- 打开命令提示符:开始→运行…,输入
- macOS :打开命令提示符并输入netstat -nr。
- 登录到路由器,并将所选端口上的UDP端口转发到找到的内部IP
- 更改可能需要允许所有通信进入您选择的端口的所有防火墙
- 通过在minetest.conf中设置以下设置,使服务器列在服务器列表中
-
server_announce = true
-使Minetest告知服务器有关服务器的列表。 -
server_name
-将此值设置为服务器的名称。 -
server_description
-将此值设置为描述服务器的较长描述。 -
server_address
-如果服务器具有域名,则将其设置为域名(如果要为服务器获取域名,如何获取域名)。 -
server_url
-如果您的服务器有一个网站,则将其设置为网站URL。 -
motd
-加入玩家后会发送给玩家的消息。用这个来欢迎他们。 - 您应该重新启动服务器,以确保更改了所有更改的设置
保护您的服务器
保护Minetest世界/服务器
设置新服务器时,应考虑需要哪些保护。这对于公用服务器极为重要 ,因为您无法预测谁将在服务器上进行连接或他们将做什么。
常见问题包括:
- 意外或故意损坏其他玩家的工作(悲伤)。
- 聊天垃圾邮件(可能包括脏话或广告)。
- 玩家之间的侵略,骚扰或其他不良行为。
- 规避禁令的麻烦制造者。
- 在MT社区中冒充知名人士。
- 漏洞(例如由mod引起的漏洞)允许恶意玩家执行任意系统命令。
通过高级计划和意识,可以消除或最小化许多这些问题:
- 安装保护模块,例如区域或保护器。这些允许玩家保护区域。保护区不能被其他玩家改变。
- 通过添加
enable_rollback = true
到minetest.conf来启用回滚。回滚可以告诉您哪个玩家放置了节点,并允许还原玩家的动作。 - 安装一个mod来帮助您管理禁令,例如xban2。
- 为服务器创建规则,并确保您有足够的时间(或一组主持人)来监督服务器并监视违反规则的玩家。
- 切勿仅仅因为玩家使用您认可的名称就授予其特权。玩家名称不在服务器之间保留,因此您应始终确认玩家是谁。
- 安装并配置聊天过滤器mod(例如filter),以防止发誓和/或进行性聊天。这有助于将规则告知玩家,而不是实际执行,因为解决过滤器非常容易。
请注意,在单人游戏中默认启用的tnt和火势蔓延默认情况下在服务器上处于禁用状态。
请参阅ContentDB上的服务器审核和工具。
保护主机
- 适用关于Linux / Windows服务器安全性的标准建议。
- 在Linux上,您可以添加一个专用用户来运行minetest服务器。
- 永远不要禁用mod安全。
- 确保您信任添加到secure.trusted_mods的mod
管理服务器
服务器配置
有关服务器配置文件的详细说明,请参见minetest.conf页面。
您可能还想考虑为您的世界使用其他数据库后端
服务器命令
有关有用命令的列表,请参见服务器命令页面。
有关与and命令一起使用的项目字符串,另请参阅项目字符串。 /give
/giveme
权限系统
有关权限系统的详细信息,请参见权限页面。
也可以看看
- 设置Debian服务器页面以获取更多有关Debian(Ubuntu)的信息。
- 有关更多可能的命令,请研究“命令行”页面。
- “ Illustrated Server创建指南”论坛主题包含有趣的讨论。
- 有关“如何创建和维护服务器-Windows ”的 更多信息,请参见此论坛主题。
- 请参阅此论坛主题以获取“服务器性能设置”