本地服务器
LAN 本地服务器允许玩家作为服主在家庭网络中建立服务器,服主对服务器拥有完全控制权。
有许多原因会促使玩家创建本地服务器,例如无法忍受网络波动或者不希望游玩过程受他人影响。下面是一些本地服务器的优点:
- 在私下里和朋友一起游玩地图
- 游玩官方服务器中没有的地图
- 用管理员指令和工具测试地图
- 当然重点不是地图而是联机!
然而,本地服务器也存在缺点。您要做许多步骤才能允许朋友加入服务器,相比起官方服务器,不知哪一个连接更稳定。并且在缺少官方认证的情况下,完成地图的成绩不会上传,只能在本地查看,您也无法获得通关排名。
建立和加入本地服务器
在新版DDNet客户端中,建立本地服务器非常简单。
- 找到游戏的开始菜单
- 点击“运行服务器”
- 一个黑底白字的命令行窗口会弹出(这可能需要一小段时间)。从这个窗口中复制rcon的密码(也可以在游戏路径的autoexecserver.cfg文件中查看并设置)。
- 打开游戏客户端的浏览服务器界面,在上方选择局域网,刷新后即可加入。
- 进入游戏后,按f2打开服务器控制台rcon,然后输入密码来获得管理员指令的使用权限。
- 介绍完毕
然而,这样建立的服务器只能够让处在同一局域网中的玩家加入。如果其他玩家不在你身旁,那么想要让他们加入就需要更多步骤。
让本地服务器连接至公网
这一步需要你进行端口映射,其方式取决于你的路由器品牌和类型。
- 在路由器上映射或者转发UDP端口8303。
- 浏览器上一般都有关于端口映射或者转发的教程。内容通常会涉及到登录浏览器接口,不同的家庭各有所异。
- 确保设置中使用了UDP协议而不是TCP或者两者共用。
- DDNet默认使用8303端口,如果您对于服务器足够熟悉,也可以通过更改服务器配置文件中的
sv_port
参数来使用其它端口。
- 在 F2 服务器控制台或者服务器配置文件中使用
sv_register 1
可以让您的服务器出现在游戏服务器界面的互联网列表中。注意这么做会公开您的家庭网络IP,具有一定风险。
一些网络运营商会使用电信级NAT而不提供本地 IPv4 地址的完整级别保护,因此可能无法使用端口转发,以上将服务器联网的方法变得不可用。(关于 IPV6 的方法此处不涉及。)
在Linux上设置服务器
Linux
方法 1 (编译服务器) [展开 / 折叠] |
要从源码创建您的DDNet服务器,请参考下面的Github自述文件
If you follow the steps you will not only build the Server but also the Client. to disable that specify the following in your cmake command:
This will significantly decrease build time and wont build unneccessary files. |
方法 2 (使用预编译的二进制文件) [展开 / 折叠] |
1. 从DDNet 下载页面(download page)上下载二进制文件
2. 解压到文件夹 3. 启动服务器
4. 转发服务器端口(默认为8303) 5.使用 IP 通过客户端连接
6. 游玩 |
关于端口转发可以参阅 http://portforward.com/ 。
服务器设置与地图
您可以在 Teeworlds 文件夹中找到设置和地图引导。
- Windows系统:位于 AppData/Roaming/Teeworlds 路径下。
- Linux系统:(地址待定)。
- Mac系统:(地址待定)。
服务器配置文件
服务器配置文件中包含了启动服务器时自动运行的设置和指令,例如将随机的服务器管理员密码改为固定密码。
首先进入 Teeworlds 文件夹而非 DDNet 文件夹,创建一个名为 autoexec_server.cfg 的文本文件,确保后缀完全一致。
编辑该文件可以快速增加命令,每条命令独自占据一行。下面给出常见命令的示例:
- 设置管理员密码:
sv_rcon_password <密码>
- 设置进入服务器密码:
sv_password <密码>
- 设置服务器名字:
sv_name <名字>
- 在互联网列表公开服务器:
sv_register 1
- 允许使用作弊指令:
sv_test_cmds 1
服务器地图
服务器地图保存在 Teeworlds/maps 路径中,加载服务器地图可以使用服务器命令sv_map <地图名>
。
另见
- DDNet Server configuration in Arch Wiki
- https://github.com/ddnet/ddnet-maps - DDNet maps repository