S
描述
具有非常基本的BepInEx支持的Stationeers服务器
25 浏览
1 下载
2026-06-30
更新于 22 小时前
预设配置详情
Stationeers
Steam 描述
在单人模式中独自建造和管理自己的空间站,或与朋友在线合作!具备完整功能的大气、科学、电力、工程、医疗、逻辑和农业系统。探索小行星并建造复杂的工厂来采集资源!
特别说明
控制台输出在新服务器上无法正常工作。这不是此 Egg 的错误!!!
BepInEx
BepInEx 是一个用于 Unity 模组开发的通用框架。BepInEx 包含的工具和库可:
- 在游戏启动时加载自定义代码(以下称为插件);
- 在不修改原始游戏文件的情况下,修补游戏内方法、类甚至整个程序集;
- 配置插件并将游戏日志输出到所需位置(如控制台或文件);
- 管理插件依赖项。
BepInEx 目前是 GitHub 上最流行的 Unity 模组工具之一。
注意:
- 此 Egg 使用最新的 Unix 版 BepInEx,未添加额外库。
- 此 Egg 还使用了最新版本的 "StationeersMods"。
服务器端口
Stationeers 最多需要 2 个端口
| 端口 | 默认值 |
|---|---|
| 游戏端口 | 27500 |
| Steam 查询 | 27015 |
registry.cn-shanghai.aliyuncs.com/pterodactyl-images/steamcmd:ubuntu
export DOORSTOP_ENABLE=TRUE; export DOORSTOP_INVOKE_DLL_PATH=./BepInEx/core/BepInEx.Preloader.dll; export LD_LIBRARY_PATH="./doorstop_libs:$LD_LIBRARY_PATH"; export LD_PRELOAD="libdoorstop_x64.so:$LD_PRELOAD"; stty cols 80 rows 24; ./rocketstation_DedicatedServer.x86_64 -loadlatest "{{SAVE_NAME}}" {{WORLD_NAME}} -settings ServerName "{{SERVER_NAME}}" StartLocalHost true ServerVisible true GamePort {{SERVER_PORT}} UpdatePort {{UPDATE_PORT}} AutoSave {{AUTOSAVE}} SaveInterval {{SAVE_INTERVAL}} ServerPassword {{SERVER_PASSWD}} ServerMaxPlayers {{MAX_PLAYERS}} UPNPEnabled {{UPNP}} 2>&1
| 变量名 | 变量 | 描述 | 默认值 | 规则 | 可查看 | 可编辑 |
|---|---|---|---|---|---|---|
| 服务器名称 | SERVER_NAME |
Pterodactyl Hosted Server |
required|string|max:100
必填 字符串 最大 100
|
|||
| 世界名称 | WORLD_NAME |
可用地图:Moon, Mars, Europa, Europa2, Mimas, Vulcan, Vulcan2, Space, Loulan, Venus | moon |
nullable|string|in:,Moon,Mars,Europa,Europa2,Mimas,Vulcan,Vulcan2,Space,Loulan,Venus
可选 字符串 选项: ,Moon,Mars,Europa,Europa2,Mimas,Vulcan,Vulcan2,Space,Loulan,Venus
|
||
| 最大玩家数 | MAX_PLAYERS |
10 |
required|integer|between:1,30
必填 整数 介于 1-30 之间
|
|||
| 服务器密码 | SERVER_PASSWD |
|
string|nullable
可选 字符串
|
|||
| 保存名称 | SAVE_NAME |
你的世界的存档名称。 服务器启动时自动保存和自动加载世界。 | stationeers_1 |
required|string|max:20
必填 字符串 最大 20
|
||
| 自动保存 | AUTOSAVE |
打开和关闭自动保存 | true |
required|string|in:true,false
必填 字符串 选项: true,false
|
||
| 保存间隔 | SAVE_INTERVAL |
设置服务器的自动保存间隔(秒)。 | 300 |
required|integer
必填 整数
|
||
| UPNP | UPNP |
false |
required|string|in:true,false
必填 字符串 选项: true,false
|
|||
| Steam 应用ID | SRCDS_APPID |
自动更新所需的。 | 600760 |
required|integer
必填 整数
|
||
| 自动更新 | AUTO_UPDATE |
1 |
boolean
布尔
|
|||
| 更新端口 | UPDATE_PORT |
27014 |
required|string|max:50
必填 字符串 最大 50
|
|||
| 测试版分支 | SRCDS_BETAID |
|
nullable|string
可选 字符串
|
镜像
registry.cn-shanghai.aliyuncs.com/pterodactyl-images/installers:debian
入口
bash
#!/bin/bash
# steamcmd Base Installation Script
#
# Server Files: /mnt/server
# Image to install with is 'registry.cn-shanghai.aliyuncs.com/pterodactyl-images/installers:debian'
##
#
# Variables
# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.
# WINDOWS_INSTALL - if it's a windows server you want to install set to 1
# SRCDS_APPID - steam app id found here - https://developer.valvesoftware.com/wiki/Dedicated_Servers_List
# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch
# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.
# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.
# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.
#
##
# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.
#apt -y update
#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates
## just in case someone removed the defaults.
if [[ "${STEAM_USER}" == "" ]] || [[ "${STEAM_PASS}" == "" ]]; then
echo -e "steam user is not set.
"
echo -e "Using anonymous user.
"
STEAM_USER=anonymous
STEAM_PASS=""
STEAM_AUTH=""
else
echo -e "user set to ${STEAM_USER}"
fi
## download and install steamcmd
cd /tmp
mkdir -p /mnt/server/steamcmd
curl -sSL -o steamcmd.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzvf steamcmd.tar.gz -C /mnt/server/steamcmd
mkdir -p /mnt/server/steamapps # Fix steamcmd disk write error when this folder is missing
cd /mnt/server/steamcmd
# SteamCMD fails otherwise for some reason, even running as root.
# This is changed at the end of the install process anyways.
chown -R root:root /mnt
export HOME=/mnt/server
## install game using steamcmd
./steamcmd.sh +force_install_dir /mnt/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s "-beta ${SRCDS_BETAID}" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s "-betapassword ${SRCDS_BETAPASS}" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6
## set up 32 bit libraries
mkdir -p /mnt/server/.steam/sdk32
cp -v linux32/steamclient.so ../.steam/sdk32/steamclient.so
## set up 64 bit libraries
mkdir -p /mnt/server/.steam/sdk64
cp -v linux64/steamclient.so ../.steam/sdk64/steamclient.so
echo "-------------------------------------------------------"
echo "Installing BepInEx from the official GitHub repository..."
echo "-------------------------------------------------------"
# Fetch the latest release URL of BepInEx from GitHub releases
LATEST_RELEASE_URL=$(curl -s https://api.github.com/repos/BepInEx/BepInEx/releases/latest | jq -r ".assets[] | select(.name | contains(\"unix\")) | .browser_download_url")
if [ -z "$LATEST_RELEASE_URL" ]; then
echo "Failed to fetch the latest BepInEx release URL. Exiting."
exit 1
fi
cd /mnt/server
# Create a quick /tmp folder
mkdir -p /mnt/server/tmp
echo "-------------------------------------------------------"
echo "Downloading latest BepInEx release"
echo "-------------------------------------------------------"
# Download and extract BepInEx to the server directory
wget "$LATEST_RELEASE_URL" -O /mnt/server/tmp/bepinex.zip
unzip -o /mnt/server/tmp/bepinex.zip
rm /mnt/server/tmp/bepinex.zip
# Create the plugins directory inside BepInEx
mkdir -p /mnt/server/BepInEx/plugins
## BepInEx installation completed
echo "-------------------------------------------------------"
echo "BepInEx installation completed"
echo "-------------------------------------------------------"
echo "-------------------------------------------------------"
echo "Downloading and installing the latest StationeersMods..."
echo "-------------------------------------------------------"
# Fetch the latest release URL of StationeersMods from GitHub releases
STATIONEERSMODS_URL=$(curl -s https://api.github.com/repos/jixxed/StationeersMods/releases/latest | jq -r ".assets[] | select(.name == \"StationeersMods.zip\") | .browser_download_url")
if [ -z "$STATIONEERSMODS_URL" ]; then
echo "Failed to fetch the latest StationeersMods release URL. Exiting."
exit 1
fi
# Download and unzip StationeersMods.zip to the plugins directory
wget "$STATIONEERSMODS_URL" -O /mnt/server/tmp/StationeersMods.zip
unzip -o /mnt/server/tmp/StationeersMods.zip -d /mnt/server/BepInEx/plugins
rm /mnt/server/tmp/StationeersMods.zip
echo "-------------------------------------------------------"
echo "StationeersMods installation completed"
echo "-------------------------------------------------------"
echo "-------------------------------------------------------"
echo "Deleting leftover /tmp folder"
echo "-------------------------------------------------------"
# Delete the /tmp folder
rm -rf /mnt/server/tmp
## install end
echo "-----------------------------------------"
echo "Stationeers installation completed..."
echo "-----------------------------------------"
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL",
"meta": {
"update_url": "https://eggs.pterodactyl.top/eggs/116/download/egg-stationeers-bepinex.json",
"version": "PTDL_v2"
},
"exported_at": "2024-06-01T00:05:09+00:00",
"name": "Stationeers (BepInEx)",
"author": "eggs@goover.dev",
"description": "具有非常基本的BepInEx支持的Stationeers服务器",
"features": [
"steam_disk_space"
],
"docker_images": {
"registry.cn-shanghai.aliyuncs.com/pterodactyl-images/steamcmd:ubuntu": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/steamcmd:ubuntu"
},
"file_denylist": [],
"startup": "export DOORSTOP_ENABLE=TRUE; export DOORSTOP_INVOKE_DLL_PATH=./BepInEx/core/BepInEx.Preloader.dll; export LD_LIBRARY_PATH=\"./doorstop_libs:$LD_LIBRARY_PATH\"; export LD_PRELOAD=\"libdoorstop_x64.so:$LD_PRELOAD\"; stty cols 80 rows 24; ./rocketstation_DedicatedServer.x86_64 -loadlatest \"{{SAVE_NAME}}\" {{WORLD_NAME}} -settings ServerName \"{{SERVER_NAME}}\" StartLocalHost true ServerVisible true GamePort {{SERVER_PORT}} UpdatePort {{UPDATE_PORT}} AutoSave {{AUTOSAVE}} SaveInterval {{SAVE_INTERVAL}} ServerPassword {{SERVER_PASSWD}} ServerMaxPlayers {{MAX_PLAYERS}} UPNPEnabled {{UPNP}} 2>&1",
"config": {
"files": "{}",
"logs": "{}",
"startup": "{\r\n \"done\": \"World load complete\"\r\n}",
"stop": "^C"
},
"scripts": {
"installation": {
"container": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/installers:debian",
"entrypoint": "bash",
"script": "#!/bin/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: /mnt/server\r\n# Image to install with is 'registry.cn-shanghai.aliyuncs.com/pterodactyl-images/installers:debian'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id found here - https://developer.valvesoftware.com/wiki/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd /tmp\r\nmkdir -p /mnt/server/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C /mnt/server/steamcmd\r\nmkdir -p /mnt/server/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd /mnt/server/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root /mnt\r\nexport HOME=/mnt/server\r\n\r\n## install game using steamcmd\r\n./steamcmd.sh +force_install_dir /mnt/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p /mnt/server/.steam/sdk32\r\ncp -v linux32/steamclient.so ../.steam/sdk32/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p /mnt/server/.steam/sdk64\r\ncp -v linux64/steamclient.so ../.steam/sdk64/steamclient.so\r\n\r\n\r\necho \"-------------------------------------------------------\"\r\necho \"Installing BepInEx from the official GitHub repository...\"\r\necho \"-------------------------------------------------------\"\r\n\r\n# Fetch the latest release URL of BepInEx from GitHub releases\r\nLATEST_RELEASE_URL=$(curl -s https://api.github.com/repos/BepInEx/BepInEx/releases/latest | jq -r \".assets[] | select(.name | contains(\\\"unix\\\")) | .browser_download_url\")\r\nif [ -z \"$LATEST_RELEASE_URL\" ]; then\r\n echo \"Failed to fetch the latest BepInEx release URL. Exiting.\"\r\n exit 1\r\nfi\r\n\r\ncd /mnt/server\r\n\r\n# Create a quick /tmp folder\r\nmkdir -p /mnt/server/tmp\r\n\r\n\r\necho \"-------------------------------------------------------\"\r\necho \"Downloading latest BepInEx release\"\r\necho \"-------------------------------------------------------\"\r\n# Download and extract BepInEx to the server directory\r\nwget \"$LATEST_RELEASE_URL\" -O /mnt/server/tmp/bepinex.zip\r\nunzip -o /mnt/server/tmp/bepinex.zip\r\nrm /mnt/server/tmp/bepinex.zip\r\n\r\n# Create the plugins directory inside BepInEx\r\nmkdir -p /mnt/server/BepInEx/plugins\r\n\r\n## BepInEx installation completed\r\necho \"-------------------------------------------------------\"\r\necho \"BepInEx installation completed\"\r\necho \"-------------------------------------------------------\"\r\n\r\necho \"-------------------------------------------------------\"\r\necho \"Downloading and installing the latest StationeersMods...\"\r\necho \"-------------------------------------------------------\"\r\n\r\n# Fetch the latest release URL of StationeersMods from GitHub releases\r\nSTATIONEERSMODS_URL=$(curl -s https://api.github.com/repos/jixxed/StationeersMods/releases/latest | jq -r \".assets[] | select(.name == \\\"StationeersMods.zip\\\") | .browser_download_url\")\r\nif [ -z \"$STATIONEERSMODS_URL\" ]; then\r\n echo \"Failed to fetch the latest StationeersMods release URL. Exiting.\"\r\n exit 1\r\nfi\r\n\r\n# Download and unzip StationeersMods.zip to the plugins directory\r\nwget \"$STATIONEERSMODS_URL\" -O /mnt/server/tmp/StationeersMods.zip\r\nunzip -o /mnt/server/tmp/StationeersMods.zip -d /mnt/server/BepInEx/plugins\r\nrm /mnt/server/tmp/StationeersMods.zip\r\n\r\necho \"-------------------------------------------------------\"\r\necho \"StationeersMods installation completed\"\r\necho \"-------------------------------------------------------\"\r\n\r\necho \"-------------------------------------------------------\"\r\necho \"Deleting leftover /tmp folder\"\r\necho \"-------------------------------------------------------\"\r\n# Delete the /tmp folder\r\nrm -rf /mnt/server/tmp\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Stationeers installation completed...\"\r\necho \"-----------------------------------------\""
}
},
"variables": [
{
"name": "服务器名称",
"description": "",
"env_variable": "SERVER_NAME",
"default_value": "Pterodactyl Hosted Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:100",
"field_type": "text"
},
{
"name": "世界名称",
"description": "可用地图:Moon, Mars, Europa, Europa2, Mimas, Vulcan, Vulcan2, Space, Loulan, Venus",
"env_variable": "WORLD_NAME",
"default_value": "moon",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|in:,Moon,Mars,Europa,Europa2,Mimas,Vulcan,Vulcan2,Space,Loulan,Venus",
"field_type": "text"
},
{
"name": "最大玩家数",
"description": "",
"env_variable": "MAX_PLAYERS",
"default_value": "10",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer|between:1,30",
"field_type": "text"
},
{
"name": "服务器密码",
"description": "",
"env_variable": "SERVER_PASSWD",
"default_value": "",
"user_viewable": false,
"user_editable": false,
"rules": "string|nullable",
"field_type": "text"
},
{
"name": "保存名称",
"description": "你的世界的存档名称。 \n服务器启动时自动保存和自动加载世界。",
"env_variable": "SAVE_NAME",
"default_value": "stationeers_1",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "自动保存",
"description": "打开和关闭自动保存",
"env_variable": "AUTOSAVE",
"default_value": "true",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "保存间隔",
"description": "设置服务器的自动保存间隔(秒)。",
"env_variable": "SAVE_INTERVAL",
"default_value": "300",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer",
"field_type": "text"
},
{
"name": "UPNP",
"description": "",
"env_variable": "UPNP",
"default_value": "false",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "Steam 应用ID",
"description": "自动更新所需的。",
"env_variable": "SRCDS_APPID",
"default_value": "600760",
"user_viewable": false,
"user_editable": false,
"rules": "required|integer",
"field_type": "text"
},
{
"name": "自动更新",
"description": "",
"env_variable": "AUTO_UPDATE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "boolean",
"field_type": "text"
},
{
"name": "更新端口",
"description": "",
"env_variable": "UPDATE_PORT",
"default_value": "27014",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:50",
"field_type": "text"
},
{
"name": "测试版分支",
"description": "",
"env_variable": "SRCDS_BETAID",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
}
]
}附属文件
暂无附属文件
Fork 关系
查看关系图暂无 Fork,成为第一个 Fork 的人吧!
统计
25
浏览
1
下载
0
星标
0
复刻
作者
飒
飒爽师叔
UID: 1
279 预设
·
2026-06