OpenRCT2 是《过山车大亨2》(RCT2)的一个开源重实现版本,扩展了新功能,修复了Bug并提高了游戏限制。
预设配置详情
OpenRCT2
作者 / 贡献者
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tr>
<td align="center">
<a href="https://github.com/redthirten">
<img src="https://avatars.githubusercontent.com/u/4533989" width="50px;" alt=""/><br /><sub><b>Red-Thirten</b></sub>
</a>
<br />
<a href="https://github.com/pelican-eggs/games-standalone/commits?author=redthirten" title="代码">💻</a>
<a href="https://github.com/pelican-eggs/games-standalone/commits?author=redthirten" title="维护者">🔨</a>
</td>
<td align="center">
<a href="https://github.com/parkervcp">
<img src="https://avatars.githubusercontent.com/u/1207679" width="50px;" alt=""/><br /><sub><b>parkervcp</b></sub>
</a>
<br />
<a href="https://github.com/pelican-eggs/games-standalone/commits?author=parkervcp" title="代码">💻</a>
<a href="https://github.com/pelican-eggs/games-standalone/commits?author=parkervcp" title="贡献者">💡</a>
</td>
<td align="center">
<a href="https://github.com/janisozaur">
<img src="https://avatars.githubusercontent.com/u/550290" width="50px;" alt=""/><br /><sub><b>janisozaur</b></sub>
</a>
<br />
<a href="https://github.com/OpenRCT2/OpenRCT2/commits?author=janisozaur" title="代码">💻</a>
<a href="https://github.com/OpenRCT2/OpenRCT2/commits?author=janisozaur" title="贡献者">💡</a>
</td>
</tr>
</table>
<!-- markdownlint-enable -->
<!-- prettier-ignore-end -->
游戏描述
来自 OpenRCT2 的官方网站:
OpenRCT2 是对《过山车大亨2》(RCT2)的开源重实现,通过新功能扩展游戏、修复漏洞并提升游戏限制。游戏的核心是建造和维护一座包含游乐设施、商店和设施的游乐园。玩家必须努力盈利并维持良好的公园声誉,同时保持游客满意度。OpenRCT2 支持剧本模式和沙盒模式。剧本要求玩家在限定时间内完成特定目标,而沙盒模式则允许玩家更灵活地建造公园,可选无限制或无财务约束。
服务器端口
| 端口 | 默认值 | 协议 | 必需 |
|---|---|---|---|
| 主端口 | 11753 | TCP | 是 |
安装/系统要求
| 最低要求 | |
|---|---|
| 处理器 | x86/64(开发版可能支持多架构,但尚未测试) |
| 内存 | 256-512 MiB(取决于客户端数量及公园大小) |
| 存储 | 200 MB(从源码编译需要 2GB) |
| RCT2 文件 | 不需要 |
存档文件
存档和自动存档位于以下目录:
/home/container/ServerData/save/
如果启动变量“加载最新自动存档”已启用,且 autosave/ 目录存在,服务器将加载最新的自动存档,而非指定的存档文件。
更新服务器
假设您将“OpenRCT2 版本”设置为 latest 或 develop,您只需重新安装服务器即可获取最新的服务器文件。/home/container/ServerData/ 中的存档、配置、日志等文件不会被修改或删除。
控制台命令
在面板支持向交互式程序输入控制台命令之前,通过面板控制台输入的命令无效(参见问题 pterodactyl/panel#3712)。
成为服务器管理员
不幸的是,由于控制台命令目前无法注册,成为服务器的第一个管理员需要以下步骤:
- 确保启动变量“记录服务器操作”设置为“true”。
- 启动服务器,并用您希望成为管理员的客户端加入。
- 打开
ServerData/serverlogs/<服务器名称>/<最新日期>.txt,复制客户端用户名旁边的 SHA1 哈希值(同时记下用户名)。 - 然后打开
ServerData/users.json。将哈希值粘贴到“hash”值中,将“name”值改为您的客户端用户名,然后保存文件。 - 重启服务器,重新加入,您应该就成了管理员!
成为管理员后,您可以使用游戏内的用户管理窗口更轻松地添加其他管理员(或组)。
已知问题
以下是运行 OpenRCT2 在 Pelican/Pterodactyl 上的已知问题,但可能只能通过 OpenRCT2 的进一步开发/更新来解决。
- 在服务器上设置密码后,非管理员客户端无法在客户端中输入密码来连接;连接会被断开。管理员客户端仍可正常加入。(参见问题 OpenRCT2/OpenRCT2#16396)
- 您可能偶尔会遇到服务器启动时崩溃,并显示“浮点异常(核心已转储)”错误。如果遇到此问题,请通过以下方式帮助 OpenRCT2 开发:
- 在服务器的启动命令开头添加:
SEGFAULT_SIGNALS=fpe LD_PRELOAD=/lib/x86_64-linux-gnu/libSegFault.so - 启动服务器。如果正常启动,不会额外打印信息。如果崩溃,将在控制台打印堆栈跟踪。
- 如果发生崩溃,复制完整的堆栈跟踪,并保存到日志分享网站(如 Hastebin)。
- 向 OpenRCT2 提交新的 Bug 报告并分享您的日志。
- 在服务器的启动命令开头添加:
registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:debian
./OpenRCT2/openrct2-cli --version && ./OpenRCT2/openrct2-cli host $(if {{LOAD_AUTOSAVE}} && [ -d ServerData/save/autosave/ ]; then find ServerData/save/autosave/ | sort -r | head -1; else echo "{{SAVE_URI}}"; fi) --port {{SERVER_PORT}} --user-data-path /home/container/ServerData/
| 变量名 | 变量 | 描述 | 默认值 | 规则 | 可查看 | 可编辑 |
|---|---|---|---|---|---|---|
| 存档文件 | SAVE_URI |
需要加载的存档文件(.sv4 / .sv6 / .park)。可以是文件路径,也可以是网络托管的文件URL。必须指定一个现有的存档文件;服务器无法从零生成新的场景/存档。 | ServerData/save/save.park |
required|string|min:4
必填 字符串 最小 4
|
||
| 加载最新自动存档 | LOAD_AUTOSAVE |
启动服务器时,将加载最新的自动存档(假设存在)*而不是*存档文件。这对于在重启后加载公园的最新进度非常有用。设置为“false”以“锁定”公园进度,并始终在启动时加载原始存档文件。 | true |
required|string|in:true,false
必填 字符串 选项: true,false
|
||
| 自动保存间隔 | AUTOSAVE_INTERVAL |
0 = 每1分钟, 1 = 每5分钟, 2 = 每15分钟, 3 = 每30分钟, 4 = 每小时, 5 = 从不 | 1 |
required|integer|in:0,1,2,3,4,5
必填 整数 选项: 0,1,2,3,4,5
|
||
| 自动存档保留数量 | AUTOSAVE_AMOUNT |
在覆盖并删除最旧的自动保存之前保留的自动保存数量。设置为0以禁用自动保存。 | 10 |
required|integer|min:0
必填 整数 最小 0
|
||
| 最大玩家数 | MAX_PLAYERS |
服务器允许连接的最大玩家数。 | 16 |
required|integer|min:0
必填 整数 最小 0
|
||
| 服务器密码 | SERVER_PASSWORD |
服务器要求客户端连接时输入密码。管理员加入无需输入密码。留空表示无密码。 | |
string|nullable
可选 字符串
|
||
| 宣传服务器 | SERVER_ADVERTISE |
如果设置为 "false",服务器将不会在主服务器列表中公告,客户端必须手动连接。 | true |
required|string|in:true,false
必填 字符串 选项: true,false
|
||
| 如果没有客户端则暂停服务器 | PAUSE_NO_CLIENTS |
设置为“true”将使服务器在没有客户端连接时暂停模拟。 | false |
required|string|in:true,false
必填 字符串 选项: true,false
|
||
| 服务器名称 | SERVER_NAME |
服务器列表中显示的服务器名称。 | |
string|nullable
可选 字符串
|
||
| 服务器描述 | SERVER_DESCRIPTION |
服务器列表中悬停服务器时显示的服务器描述。 | |
string|nullable
可选 字符串
|
||
| 服务器玩家名称 | SERVER_PLAYER_NAME |
服务器在玩家列表中显示为一名玩家。这是它将使用的名称。 | Server |
string|nullable
可选 字符串
|
||
| 服务器问候 | SERVER_GREETING |
发送给所有加入的玩家的“每日消息”。 | |
string|nullable
可选 字符串
|
||
| 提供者名称 | PROVIDER_NAME |
服务器提供商名称,出现在服务器信息窗口中。 | |
string|nullable
可选 字符串
|
||
| 服务器提供商电子邮件 | PROVIDER_EMAIL |
出现在服务器信息窗口中的服务器提供商电子邮件。 | |
string|nullable
可选 字符串
|
||
| 服务器提供商网站 | PROVIDER_WEBSITE |
出现在服务器信息窗口中的服务器提供商网站。 | |
string|nullable
可选 字符串
|
||
| 聊天日志 | LOG_CHAT |
如果你希望游戏内聊天记录被记录到文件 `~/ServerData/chatlogs` 中,请设置为 "true"。 | false |
required|string|in:true,false
必填 字符串 选项: true,false
|
||
| 记录服务器操作 | LOG_SERVER_ACTIONS |
如果希望将游戏内操作记录到 `~/ServerData/serverlogs` 文件中,请设置为 "true"。 | false |
required|string|in:true,false
必填 字符串 选项: true,false
|
||
| OpenRCT2 版本 | VERSION |
OpenRCT2的发布标签(版本),用于从其官方Github下载和安装(例如:"v0.4.15")。使用"latest"下载最新版本,或使用"develop"从最新源码构建(安装时间更长,但获得最新更新)。 | latest |
required|string
必填 字符串
|
||
| [系统] 库路径 | LD_LIBRARY_PATH |
用于加载发布二进制文件的库的路径。很少需要更改。 | ./OpenRCT2/lib |
required|string
必填 字符串
|
registry.cn-shanghai.aliyuncs.com/pterodactyl-images/installers:debian
/bin/bash
#!/bin/bash
## File: Pterodactyl OpenRCT2 Egg - egg-pterodactyl-open-r-c-t2.json
## Authors: David Wolfe (Red-Thirten), parkervcp
## Date: 2025/12/13
## License: MIT License
export HOME=/mnt/server
GITHUB_PACKAGE="OpenRCT2/OpenRCT2"
MATCH="Linux-bookworm-x86_64.tar.gz"
DEFAULT_SAVE="https://raw.githubusercontent.com/pelican-eggs/games-standalone/master/openrct2/save.park"
## OpenRCT2 Install
[ ! -d $HOME ] && mkdir $HOME
cd $HOME
# Remove existing installation if present
[ -d OpenRCT2 ] && rm -rf OpenRCT2
# Setup temp directory for downloading/building and move to it
[ -d temp ] && rm -rf temp
mkdir temp && cd temp
# Determine if installing from source or from release
if [ "${VERSION}" == "develop" ]; then
# Get required packages
apt -y update
apt -y install --no-install-recommends \
git \
make \
cmake \
gcc \
build-essential \
libicu-dev \
pkg-config \
libcurl4-openssl-dev \
libcrypto++-dev \
libpng-dev \
libssl-dev \
libzip-dev \
duktape-dev \
nlohmann-json3-dev \
libzstd-dev \
libsdl2-dev \
libspeexdsp-dev \
libflac-dev \
libvorbis-dev
echo -e "
Installing/Updating OpenRCT2 from source...
"
# Clone the branch and check if successful
git clone --branch "${VERSION}" https://github.com/${GITHUB_PACKAGE}
if [ ! -d OpenRCT2 ]; then
echo -e "
Failed to clone \"${VERSION}\" branch from https://github.com/${GITHUB_PACKAGE}
"
exit 1
fi
cd OpenRCT2
mkdir build && cd build
# Prepare CMake files for a lightweight and CLI-only build of OpenRCT2, using the appropriate flags
# (The `-DDISABLE_GUI=ON` flag is currently broken & has been temp. removed. This requires 4 addl. UI packages to be installed.)
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DPORTABLE=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_CXX_FLAGS="-g -gz" -DDISABLE_TTF=ON -DDISABLE_GOOGLE_BENCHMARK=ON -DDISABLE_DISCORD_RPC=ON
echo -e "
Building OpenRCT2 package from source...
\tThis process can take quite some time. Grab a coffee :)
"
# Build OpenRCT2
DESTDIR=. make install
# Check if build was successful
if [ ! -f usr/local/bin/openrct2-cli ]; then
echo -e "
Failed to successfully build OpenRCT2!
"
exit 1
fi
# Make executable-ready package by moving compiled files to the correct locations
mkdir -p $HOME/OpenRCT2/{data,lib}
cd usr/local
mv bin/openrct2-cli $HOME/OpenRCT2/
mv bin/*.so $HOME/OpenRCT2/lib
mv share/openrct2/* $HOME/OpenRCT2/data/
# mv share/openrct2-cli/* $HOME/OpenRCT2/data/
mv share/doc $HOME/OpenRCT2/
echo -e "
Build of OpenRCT2 package complete!"
else
echo -e "
Installing/Updating OpenRCT2 from release tag \"${VERSION}\"...
"
# This is a simple script to use the GitHub API for release versions.
# This requires the egg has a variable for GITHUB_PACKAGE, VERSION and MATCH (MATCH is to match the filename in some way).
# Get release info and download links
LATEST_JSON=$(curl --silent "https://api.github.com/repos/${GITHUB_PACKAGE}/releases/latest")
RELEASES=$(curl --silent "https://api.github.com/repos/${GITHUB_PACKAGE}/releases")
if [ -z "${VERSION}" ] || [ "${VERSION}" == "latest" ]; then
DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})
else
VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .tag_name')
if [ "${VERSION}" == "${VERSION_CHECK}" ]; then
DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})
else
DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)
fi
fi
# Download the release and check if successful
curl -L ${DOWNLOAD_URL} -o OpenRCT2.tar.gz
if [ ! -f OpenRCT2.tar.gz ]; then
echo -e "
Failed to download release: ${DOWNLOAD_URL}
"
exit 1
fi
# Extract archive
tar -xvf OpenRCT2.tar.gz -C $HOME
echo -e "
Download/Update of OpenRCT2 release successful!"
fi
cd $HOME
rm -rf temp # Clean up temp building directory
## OpenRCT2 Setup
# Setup ServerData/save directory
[ ! -d ServerData/save ] && mkdir -p ServerData/save
cd ServerData/save
# Download default save.park if missing
if [ ! -f save.park ]; then
echo -e "Downloading default save.park file from ${DEFAULT_SAVE}"
curl -sSLO ${DEFAULT_SAVE}
fi
echo -e "
OpenRCT2 Successfully Installed!"
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": "https://eggs.pterodactyl.top/eggs/240/download/egg-openrct2.json"
},
"exported_at": "2025-12-13T17:10:38-08:00",
"name": "OpenRCT2",
"author": "red_thirten@yahoo.com",
"description": "OpenRCT2 是《过山车大亨2》(RCT2)的一个开源重实现版本,扩展了新功能,修复了Bug并提高了游戏限制。",
"features": null,
"docker_images": {
"registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:debian": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:debian"
},
"file_denylist": [],
"startup": "./OpenRCT2/openrct2-cli --version && ./OpenRCT2/openrct2-cli host $(if {{LOAD_AUTOSAVE}} && [ -d ServerData/save/autosave/ ]; then find ServerData/save/autosave/ | sort -r | head -1; else echo \"{{SAVE_URI}}\"; fi) --port {{SERVER_PORT}} --user-data-path /home/container/ServerData/",
"config": {
"files": "{\r\n \"ServerData/config.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"general.autosave\": \"{{server.build.env.AUTOSAVE_INTERVAL}}\",\r\n \"general.autosave_amount\": \"{{server.build.env.AUTOSAVE_AMOUNT}}\",\r\n \"network.player_name\": \"\\\"{{server.build.env.SERVER_PLAYER_NAME}}\\\"\",\r\n \"network.default_port\": \"{{server.build.default.port}}\",\r\n \"network.default_password\": \"\\\"{{server.build.env.SERVER_PASSWORD}}\\\"\",\r\n \"network.advertise\": \"{{server.build.env.SERVER_ADVERTISE}}\",\r\n \"network.maxplayers\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"network.server_name\": \"\\\"{{server.build.env.SERVER_NAME}}\\\"\",\r\n \"network.server_description\": \"\\\"{{server.build.env.SERVER_DESCRIPTION}}\\\"\",\r\n \"network.server_greeting\": \"\\\"{{server.build.env.SERVER_GREETING}}\\\"\",\r\n \"network.provider_name\": \"\\\"{{server.build.env.PROVIDER_NAME}}\\\"\",\r\n \"network.provider_email\": \"\\\"{{server.build.env.PROVIDER_EMAIL}}\\\"\",\r\n \"network.provider_website\": \"\\\"{{server.build.env.PROVIDER_WEBSITE}}\\\"\",\r\n \"network.log_chat\": \"{{server.build.env.LOG_CHAT}}\",\r\n \"network.log_server_actions\": \"{{server.build.env.LOG_SERVER_ACTIONS}}\",\r\n \"network.pause_server_if_no_clients\": \"{{server.build.env.PAUSE_NO_CLIENTS}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Listening for clients on\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!/bin/bash\r\n\r\n## File: Pterodactyl OpenRCT2 Egg - egg-pterodactyl-open-r-c-t2.json\r\n## Authors: David Wolfe (Red-Thirten), parkervcp\r\n## Date: 2025/12/13\r\n## License: MIT License\r\n\r\nexport HOME=/mnt/server\r\n\r\nGITHUB_PACKAGE=\"OpenRCT2/OpenRCT2\"\r\nMATCH=\"Linux-bookworm-x86_64.tar.gz\"\r\nDEFAULT_SAVE=\"https://raw.githubusercontent.com/pelican-eggs/games-standalone/master/openrct2/save.park\"\r\n\r\n## OpenRCT2 Install\r\n[ ! -d $HOME ] && mkdir $HOME\r\ncd $HOME\r\n# Remove existing installation if present\r\n[ -d OpenRCT2 ] && rm -rf OpenRCT2\r\n# Setup temp directory for downloading/building and move to it\r\n[ -d temp ] && rm -rf temp\r\nmkdir temp && cd temp\r\n\r\n# Determine if installing from source or from release\r\nif [ \"${VERSION}\" == \"develop\" ]; then\r\n # Get required packages\r\n apt -y update\r\n apt -y install --no-install-recommends \\\r\n git \\\r\n make \\\r\n cmake \\\r\n gcc \\\r\n build-essential \\\r\n libicu-dev \\\r\n pkg-config \\\r\n libcurl4-openssl-dev \\\r\n libcrypto++-dev \\\r\n libpng-dev \\\r\n libssl-dev \\\r\n libzip-dev \\\r\n duktape-dev \\\r\n nlohmann-json3-dev \\\r\n libzstd-dev \\\r\n libsdl2-dev \\\r\n libspeexdsp-dev \\\r\n libflac-dev \\\r\n libvorbis-dev\r\n echo -e \"\\nInstalling/Updating OpenRCT2 from source...\\n\"\r\n \r\n # Clone the branch and check if successful\r\n git clone --branch \"${VERSION}\" https://github.com/${GITHUB_PACKAGE}\r\n if [ ! -d OpenRCT2 ]; then\r\n echo -e \"\\nFailed to clone \\\"${VERSION}\\\" branch from https://github.com/${GITHUB_PACKAGE}\\n\"\r\n exit 1\r\n fi\r\n \r\n cd OpenRCT2\r\n mkdir build && cd build\r\n # Prepare CMake files for a lightweight and CLI-only build of OpenRCT2, using the appropriate flags\r\n # (The `-DDISABLE_GUI=ON` flag is currently broken & has been temp. removed. This requires 4 addl. UI packages to be installed.)\r\n cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DPORTABLE=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_CXX_FLAGS=\"-g -gz\" -DDISABLE_TTF=ON -DDISABLE_GOOGLE_BENCHMARK=ON -DDISABLE_DISCORD_RPC=ON\r\n echo -e \"\\nBuilding OpenRCT2 package from source...\\n\\tThis process can take quite some time. Grab a coffee :)\\n\"\r\n # Build OpenRCT2\r\n DESTDIR=. make install\r\n # Check if build was successful\r\n if [ ! -f usr/local/bin/openrct2-cli ]; then\r\n echo -e \"\\nFailed to successfully build OpenRCT2!\\n\"\r\n exit 1\r\n fi\r\n \r\n # Make executable-ready package by moving compiled files to the correct locations\r\n mkdir -p $HOME/OpenRCT2/{data,lib}\r\n cd usr/local\r\n mv bin/openrct2-cli $HOME/OpenRCT2/\r\n mv bin/*.so $HOME/OpenRCT2/lib\r\n mv share/openrct2/* $HOME/OpenRCT2/data/\r\n # mv share/openrct2-cli/* $HOME/OpenRCT2/data/\r\n mv share/doc $HOME/OpenRCT2/\r\n echo -e \"\\nBuild of OpenRCT2 package complete!\"\r\nelse\r\n echo -e \"\\nInstalling/Updating OpenRCT2 from release tag \\\"${VERSION}\\\"...\\n\"\r\n \r\n # This is a simple script to use the GitHub API for release versions.\r\n # This requires the egg has a variable for GITHUB_PACKAGE, VERSION and MATCH (MATCH is to match the filename in some way).\r\n # Get release info and download links\r\n LATEST_JSON=$(curl --silent \"https://api.github.com/repos/${GITHUB_PACKAGE}/releases/latest\")\r\n RELEASES=$(curl --silent \"https://api.github.com/repos/${GITHUB_PACKAGE}/releases\")\r\n if [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\n else\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\n fi\r\n # Download the release and check if successful\r\n curl -L ${DOWNLOAD_URL} -o OpenRCT2.tar.gz\r\n if [ ! -f OpenRCT2.tar.gz ]; then\r\n echo -e \"\\nFailed to download release: ${DOWNLOAD_URL}\\n\"\r\n exit 1\r\n fi\r\n \r\n # Extract archive\r\n tar -xvf OpenRCT2.tar.gz -C $HOME\r\n\r\n echo -e \"\\nDownload/Update of OpenRCT2 release successful!\"\r\nfi\r\n\r\ncd $HOME\r\nrm -rf temp # Clean up temp building directory\r\n\r\n## OpenRCT2 Setup\r\n# Setup ServerData/save directory\r\n[ ! -d ServerData/save ] && mkdir -p ServerData/save\r\ncd ServerData/save\r\n# Download default save.park if missing\r\nif [ ! -f save.park ]; then\r\n echo -e \"Downloading default save.park file from ${DEFAULT_SAVE}\"\r\n curl -sSLO ${DEFAULT_SAVE}\r\nfi\r\n\r\necho -e \"\\nOpenRCT2 Successfully Installed!\"",
"container": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/installers:debian",
"entrypoint": "/bin/bash"
}
},
"variables": [
{
"name": "存档文件",
"description": "需要加载的存档文件(.sv4 / .sv6 / .park)。可以是文件路径,也可以是网络托管的文件URL。必须指定一个现有的存档文件;服务器无法从零生成新的场景/存档。",
"env_variable": "SAVE_URI",
"default_value": "ServerData/save/save.park",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|min:4",
"field_type": "text"
},
{
"name": "加载最新自动存档",
"description": "启动服务器时,将加载最新的自动存档(假设存在)*而不是*存档文件。这对于在重启后加载公园的最新进度非常有用。设置为“false”以“锁定”公园进度,并始终在启动时加载原始存档文件。",
"env_variable": "LOAD_AUTOSAVE",
"default_value": "true",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "自动保存间隔",
"description": "0 = 每1分钟, 1 = 每5分钟, 2 = 每15分钟, 3 = 每30分钟, 4 = 每小时, 5 = 从不",
"env_variable": "AUTOSAVE_INTERVAL",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer|in:0,1,2,3,4,5",
"field_type": "text"
},
{
"name": "自动存档保留数量",
"description": "在覆盖并删除最旧的自动保存之前保留的自动保存数量。设置为0以禁用自动保存。",
"env_variable": "AUTOSAVE_AMOUNT",
"default_value": "10",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer|min:0",
"field_type": "text"
},
{
"name": "最大玩家数",
"description": "服务器允许连接的最大玩家数。",
"env_variable": "MAX_PLAYERS",
"default_value": "16",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer|min:0",
"field_type": "text"
},
{
"name": "服务器密码",
"description": "服务器要求客户端连接时输入密码。管理员加入无需输入密码。留空表示无密码。",
"env_variable": "SERVER_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "string|nullable",
"field_type": "text"
},
{
"name": "宣传服务器",
"description": "如果设置为 \"false\",服务器将不会在主服务器列表中公告,客户端必须手动连接。",
"env_variable": "SERVER_ADVERTISE",
"default_value": "true",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "如果没有客户端则暂停服务器",
"description": "设置为“true”将使服务器在没有客户端连接时暂停模拟。",
"env_variable": "PAUSE_NO_CLIENTS",
"default_value": "false",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "服务器名称",
"description": "服务器列表中显示的服务器名称。",
"env_variable": "SERVER_NAME",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "string|nullable",
"field_type": "text"
},
{
"name": "服务器描述",
"description": "服务器列表中悬停服务器时显示的服务器描述。",
"env_variable": "SERVER_DESCRIPTION",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "string|nullable",
"field_type": "text"
},
{
"name": "服务器玩家名称",
"description": "服务器在玩家列表中显示为一名玩家。这是它将使用的名称。",
"env_variable": "SERVER_PLAYER_NAME",
"default_value": "Server",
"user_viewable": true,
"user_editable": true,
"rules": "string|nullable",
"field_type": "text"
},
{
"name": "服务器问候",
"description": "发送给所有加入的玩家的“每日消息”。",
"env_variable": "SERVER_GREETING",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "string|nullable",
"field_type": "text"
},
{
"name": "提供者名称",
"description": "服务器提供商名称,出现在服务器信息窗口中。",
"env_variable": "PROVIDER_NAME",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "string|nullable",
"field_type": "text"
},
{
"name": "服务器提供商电子邮件",
"description": "出现在服务器信息窗口中的服务器提供商电子邮件。",
"env_variable": "PROVIDER_EMAIL",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "string|nullable",
"field_type": "text"
},
{
"name": "服务器提供商网站",
"description": "出现在服务器信息窗口中的服务器提供商网站。",
"env_variable": "PROVIDER_WEBSITE",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "string|nullable",
"field_type": "text"
},
{
"name": "聊天日志",
"description": "如果你希望游戏内聊天记录被记录到文件 `~/ServerData/chatlogs` 中,请设置为 \"true\"。",
"env_variable": "LOG_CHAT",
"default_value": "false",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "记录服务器操作",
"description": "如果希望将游戏内操作记录到 `~/ServerData/serverlogs` 文件中,请设置为 \"true\"。",
"env_variable": "LOG_SERVER_ACTIONS",
"default_value": "false",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "OpenRCT2 版本",
"description": "OpenRCT2的发布标签(版本),用于从其官方Github下载和安装(例如:\"v0.4.15\")。使用\"latest\"下载最新版本,或使用\"develop\"从最新源码构建(安装时间更长,但获得最新更新)。",
"env_variable": "VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "[系统] 库路径",
"description": "用于加载发布二进制文件的库的路径。很少需要更改。",
"env_variable": "LD_LIBRARY_PATH",
"default_value": "./OpenRCT2/lib",
"user_viewable": false,
"user_editable": false,
"rules": "required|string",
"field_type": "text"
}
]
}附属文件
暂无附属文件
Fork 关系
查看关系图暂无 Fork,成为第一个 Fork 的人吧!