Minetest服务器搭建

概述

搭建多人在线服务器

选择硬件

建议您使用VPS或专用服务器托管要公开使用的游戏服务器。住宅Internet连接往往不可靠,并且上传速度也较慢。在家托管时,您可能也无法使服务器保持24/7联机状态。

话虽这么说,如果您有一些可以保持在线的硬件,并且拥有足够的Internet连接,在家托管将可以正常工作。

虽然您可以通过Minetest客户端托管服务器-这对LAN游戏来说很好-但您仍想使用Minetest专用服务器模式托管公共服务器。

如果你需要付费的技术支持可以到论坛的交易市场发布需求。

获取服务器程序

编译安装Minetest服务器端请看下面的帖子

直接下载服务器端程序

运行服务器

Linux操作系统

  1. 打开一个终端。
  2. 输入YOUR/MINETEST/DIRECTORY/bin/minetestserver 或只是将minetestserver可执行文件(位于中/Minetest/bin/ )放到终端中**(请阅读下面的注释!)**
  • 如果要指定特定的游戏ID,则游戏ID选项位于中/Minetest/games/ 。添加到命令末尾。 --gameid thegameid
  • 如果出现错误“可以使用多个世界”,则世界选择位于/Minetest/worlds/ 。添加到命令末尾。 --worldname theWorld
  1. 如果您的服务器崩溃,然后看看debug.txt/Minetest/bin/
  2. 确保使服务器免受破坏

为了易于使用,您可以创建一个名为minetestserver.sh的文件,在下面添加以下行并将其放在/ Minetest / bin /文件夹中。要运行服务器,只需在终端中运行文件。

#!/bin/bash

while true
do
	 ./minetestserver --gameid minetest --worldname world
	sleep 10
done

Window

如果你是搭建专业的游戏服务器,window并非最佳实践

  1. 进入Minetest安装文件夹,打开命令提示符,然后在“ bin”文件夹中,按住Shift,右键单击一个空文件(不在minetest.exe上),然后单击“此处打开命令窗口”。
  2. 输入:minetest.exe --server
  • 如果您收到错误“多世界是可用的。”,使用代替,这里是世界的名字。 minetest.exe --server --worldname world_name world_name
  1. 如果您的服务器崩溃,然后看看debug.txt/Minetest/bin/
  2. 确保使服务器免受破坏

如果您不想启动崩溃的服务器,只需从包含以下代码的批处理文件中启动服务器即可:

@echo off :crash minetest.exe --server --worldname *world_name* goto crash

允许外部玩家连接

除非您进行端口转发,否则网络外部的玩家将无法加入服务器。有关端口转发的技术支持,我们在另一贴中提到

  1. 选择运行服务器的端口。建议使用默认值30000
  2. 找出正在运行服务器的计算机的内部IP
  • Linux :打开终端并输入,ifconfig 然后按Enter。在“ wlan0”或“ eth0”附近寻找“ inet adr”。在centos7以后等其他时髦的发行版本中 这个命令逐渐被抛弃,取而代之的是ip命令
  • Windows
    • 打开命令提示符:开始→运行…,输入cmd.exe 并按Enter。
    • 键入ipconfig 并按Enter键。
    • 寻找IPv4 Address
  • macOS :打开命令提示符并输入netstat -nr。
  1. 登录到路由器,并将所选端口上的UDP端口转发到找到的内部IP
  2. 更改可能需要允许所有通信进入您选择的端口的所有防火墙
  3. 通过在minetest.conf中设置以下设置,使服务器列在服务器列表中
  • server_announce = true -使Minetest告知服务器有关服务器的列表。
  • server_name -将此值设置为服务器的名称。
  • server_description -将此值设置为描述服务器的较长描述。
  • server_address -如果服务器具有域名,则将其设置为域名(如果要为服务器获取域名,如何获取域名)。
  • server_url -如果您的服务器有一个网站,则将其设置为网站URL。
  • motd -加入玩家后会发送给玩家的消息。用这个来欢迎他们。
  • 您应该重新启动服务器,以确保更改了所有更改的设置

保护您的服务器

保护Minetest世界/服务器

设置新服务器时,应考虑需要哪些保护。这对于公用服务器极为重要 ,因为您无法预测谁将在服务器上进行连接或他们将做什么。

常见问题包括:

  • 意外或故意损坏其他玩家的工作(悲伤)。
  • 聊天垃圾邮件(可能包括脏话或广告)。
  • 玩家之间的侵略,骚扰或其他不良行为。
  • 规避禁令的麻烦制造者。
  • 在MT社区中冒充知名人士。
  • 漏洞(例如由mod引起的漏洞)允许恶意玩家执行任意系统命令。

通过高级计划和意识,可以消除或最小化许多这些问题:

  • 安装保护模块,例如区域保护器。这些允许玩家保护区域。保护区不能被其他玩家改变。
  • 通过添加enable_rollback = trueminetest.conf来启用回滚。回滚可以告诉您哪个玩家放置了节点,并允许还原玩家的动作。
  • 安装一个mod来帮助您管理禁令,例如xban2
  • 为服务器创建规则,并确保您有足够的时间(或一组主持人)来监督服务器并监视违反规则的玩家。
  • 切勿仅仅因为玩家使用您认可的名称就授予其特权。玩家名称不在服务器之间保留,因此您应始终确认玩家是谁。
  • 安装并配置聊天过滤器mod(例如filter),以防止发誓和/或进行性聊天。这有助于将规则告知玩家,而不是实际执行,因为解决过滤器非常容易。

请注意,在单人游戏中默认启用的tnt和火势蔓延默认情况下在服务器上处于禁用状态。

请参阅ContentDB上的服务器审核和工具

保护主机

  • 适用关于Linux / Windows服务器安全性的标准建议。
  • 在Linux上,您可以添加一个专用用户来运行minetest服务器。
  • 永远不要禁用mod安全。
  • 确保您信任添加到secure.trusted_mods的mod

管理服务器

服务器配置

有关服务器配置文件的详细说明,请参见minetest.conf页面。

您可能还想考虑为您的世界使用其他数据库后端

服务器命令

有关有用命令的列表,请参见服务器命令页面。

有关与and命令一起使用的项目字符串,另请参阅项目字符串/give /giveme

权限系统

有关权限系统的详细信息,请参见权限页面。

也可以看看