专用服务器是一个没有本地客户端加入的 OpenTTD 网络服务器。专用服务器可以在计算机后台运行。
Contents |
启动专用服务器
用命令行选项(en) -D
(大写的 D!)启动 OpenTTD 可执行文件。
在 Windows
方法 1:
-
创建一个到
openttd.exe
的快捷方式 - 右键点击快捷方式,点击属性
-
在目标一栏末尾添加
-D
- 点击应用
- 运行快捷方式
方法 2:
- 在开始菜单点击运行(按 Win键+R 组合键也可以)
-
输入:
"c:\(到OpenTTD游戏文件夹的路径)\openttd.exe" -D
- 点击确定
在 Linux
-
在终端运行
openttd -D
。如果你通过 SSH 连接到服务器,并且希望游戏在你注销时继续运行,可使用 GNU Screen 或者 dtach。
你也可以用 -f 选项启动 OpenTTD ,此时进程会在后台运行,但没有控制台可用。所有的日志都会被写入 openttd.log 文件。你可以用 tail 命令查看该文件以跟踪事件:tail -f openttd.log 。
在 OS/2
-
运行
dedicated.cmd
文件。因为如果你运行openttd -D
的话你就看不到控制台窗口,不能为程序提供命令。
在 Mac OS X
- 打开终端。
- 用 cd 切换到包含 OpenTTD 的目录
- 输入 cd OpenTTD.app/Contents/MacOS/
- 输入 ./openttd -D
- OpenTTD 此时应该启动为专用服务器
在 Docker.io
配置服务器
有 3 种方式修改游戏设置:
- 启动一个单人游戏,修改设置,然后关闭游戏。
- 使用控制台指令(en)在服务器运行时修改设置。
- 手动编辑 Openttd.cfg (en) 文件。查阅 Diff custom (en) 以获取帮助。
可用工具:
修改 Openttd.cfg (en) 中的 Network 部分来更改网络设置:
- 将 Lan internet (en) 设置为 0 。
- 修改服务器名称 Server name (en) 使玩家辨认服务器。
- 将 Server advertise (en) 设置为 true,使其在服务器列表可见。
- 如果你有多个网络接口,请确认你设置了 Server bind ip (en)。
- 如果你处于路由器内网中,请确保你用 Server port (en) 设置了转发端口(TCP 和 UDP)。
用rcon控制服务器
配置专用服务器接受 rcon命令:
-
在专用服务器窗口输入
rcon_pw <密码>
。
比如:
rcon_pw x8na7f
用客户端连接服务器:
- 正常启动 OpenTTD。
- 在服务器列表找到你的服务器并连接。
- 打开控制台(按 ~ 键)
-
输入
rcon <密码> "<命令>"
.
比如:
rcon x8na7f "kick 5"
安装在线内容
如果你想用游戏内的内容下载功能,你可以用专用服务器的控制台进行操作。这种方法比起手动将文件复制到服务器的好处是,该功能可以自动同时下载所有作者在上传文件到内容系统时声明的依赖。
- 首先,你需要从内容服务器加载所有可用内容:
输入
content update
等待 "Content server connection closed" 出现在控制台。
- 列出所有可用内容:
输入
content state
可用内容的列表会被打印在窗口上。从中找到你想要下载的内容并记下行首的 ID。比如控制台打印:
2947, Game script, Not selected, Simple City Builder, ...
则你记下 2947(仅作举例,实际 ID 请以在窗口上看到的为准)
- 然后,用刚刚记下的 ID 选择要下载的内容:
输入
content select 2947
(2947为你刚刚记下的 ID )
-
如果你记下了多个 ID 多次输入
content select
将它们全部选择
- 然后下载所有选择的内容:
输入
content download
提示:如果你的游戏版本为nightly r26000以上或稳定版1.4以上,你可以输入 content state city
来筛选名字中含有 "city" 的内容。
加载游戏
在专用服务器窗口(或者用 rcon 命令):
-
输入
ls
来列出当前目录的文件,每个文件左边会有一个编号,下文用<编号>
表示。 -
输入
cd <编号>
来切换到该目录。 -
输入
load <编号>
来加载该文件。
-
你也可以用命令行选项
-g "<文件名>"
来加载存档与场景。
比如:
openttd.exe -D -g "scenario/echo.scn"
.
自动启动/停止服务器并保存游戏
如果你不想运行 docker:要在 ubuntu/debian 运行你的专用服务器,你可以下载安装一个 init.d 脚本,然后你会获得如下功能:
- 主机启动时专用服务器自动启动
- 主机关机时专用服务器自动关机
- 每隔一段时间自动保存
更多功能介绍,安装指南和下载请见:https://bitbucket.org/frodus/openttd-init
用一个预制的docker容器,你会得到经过测试可用的 OpenTTD 专用服务器环境。 在 ubuntu 14.04 及以上版本,你可以运行:sudo apt-get install docker.io 并阅读下方链接:
- https://registry.hub.docker.com/r/bateau/openttd/
注意:这是一个由第三方打包的预先配置好的虚拟机。
另请参见
- 用自动清除公司(en)来指定当一个玩家下线后其公司不再活跃后会发生什么
- 一个对专用服务器防火墙的简短介绍 [1]