《
描述
叫上你的朋友,一起踏上充满刀剑、魔法与各种奇妙事物的冒险世界。发现大量酷炫的战利品,揭开隐藏的秘密,沿途结识新朋友与敌人。在这款可爱的多人开放世界角色扮演游戏中,留下你的印记,找到一处可以称之为家的地方。
20 浏览
2 下载
2026-06-30
更新于 3 天前
预设配置详情
剑与魔法与冒险
召集你的朋友,踏上充满刀剑、魔法与冒险的世界之旅。发现大量酷炫战利品,揭开隐藏的秘密,沿途结识新朋友与敌人。在这款可爱的多人开放世界角色扮演游戏中,留下你的印记,找到可以称之为家的地方。
控制台
由于尚未有真正的控制台,此容器使用一个封装程序将日志文件输出到控制台,但这是一个持续循环,因此它会不断将最新日志文件的内容发送到控制台。控制台不接受任何输入。
封装程序在尝试启动服务器前有30秒超时时间,因为它需要等待日志文件被写入,并且该文件的前几行内容被生成。
首次启动
由于封装程序的存在,控制台首次启动时不会显示任何日志。首次启动时,请等待vcrun2019安装完成,然后点击重启。
服务器端口
| 端口 | 默认值 |
|---|---|
| 游戏 | 7777 |
| 查询 | 27015 |
registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:wine_latest
wine /home/container/SNM2020/Binaries/Win64/SNMASServer-Win64-Shipping.exe -port={{SERVER_PORT}} -QueryPort={{QUERY_PORT}} -log
| 变量名 | 变量 | 描述 | 默认值 | 规则 | 可查看 | 可编辑 |
|---|---|---|---|---|---|---|
| 自动更新 | AUTO_UPDATE |
在启动时自动更新服务器 | 1 |
boolean
布尔
|
||
| 查询端口 | QUERY_PORT |
Steam用于客户端查询服务器(如ping等)的端口 | 27015 |
required|string|
必填 字符串
|
||
| 重置时间 | SNM_DAYS_UNTIL_RESET |
这是重置之间的天数。 | 1 |
required|string|max:20
必填 字符串 最大 20
|
||
| 最大玩家数 | SNM_MAX_PLAYERS |
你可以指定最大玩家数量。 | 16 |
required|string|max:16
必填 字符串 最大 16
|
||
| 服务器名称 | SNM_NAME |
这是用于您服务器的服务器名称。 您必须选择2到5个**不重复**的单词(不能有重复单词)。 单词不区分大小写。 已批准的单词列表变更可在此处查看:`SNM2020/Saved/Logs/Allowed-Words.txt` | |
nullable|string|max:64
可选 字符串 最大 64
|
||
| 管理员Steam ID | SNM_OWNER_STEAM_ID |
这是该服务器所有者/管理员的Steam ID。 | |
required|string|max:20
必填 字符串 最大 20
|
||
| 服务器密码 | SNM_PASSWORD |
这是服务器密码;默认情况下是禁用的。 | |
nullable|string|max:32
可选 字符串 最大 32
|
||
| 重置时间为白天 | SNM_RESET_TIME_OF_DAY |
这是服务器重置时的一天中的本地时间。格式为 HH:MM,采用 24 小时制。午夜 => 00:00,上午 10:30 => 10:30,下午 4:30 => 16:30 | 00:00 |
required|string|max:20
必填 字符串 最大 20
|
||
| App ID | SRCDS_APPID |
2058450 |
required|string|max:20
必填 字符串 最大 20
|
|||
| WINDOWS_INSTALL | WINDOWS_INSTALL |
1 |
required|boolean
必填 布尔
|
|||
| WINEARCH | WINEARCH |
win64 |
required|string|in:win32,win64
必填 字符串 选项: win32,win64
|
|||
| WINEDEBUG | WINEDEBUG |
-all |
required|string|max:32
必填 字符串 最大 32
|
|||
| WINETRICKS_RUN | WINETRICKS_RUN |
vcrun2019 |
required|string|max:64
必填 字符串 最大 64
|
镜像
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
## add below your custom commands if needed
mkdir -p /mnt/server/SNM2020/Saved/Config/WindowsServer/
if [ ! -f /mnt/server/SNM2020/Saved/Config/WindowsServer/Game.ini ]
then
echo "The config file does not yet exists, making a new one"
mv /mnt/server/SNM2020/Content/Docs/Dedicated-Server-Game.ini /mnt/server/SNM2020/Saved/Config/WindowsServer/Game.ini
else
echo "Old config file found. Replacing it with a up to date one but a backup will be made"
mv /mnt/server/SNM2020/Saved/Config/WindowsServer/Game.ini /mnt/server/SNM2020/Saved/Config/WindowsServer/Game-$(date "+%Y.%m.%d-%H.%M.%S").ini.old
mv /mnt/server/SNM2020/Content/Docs/Dedicated-Server-Game.ini /mnt/server/SNM2020/Saved/Config/WindowsServer/Game.ini
fi
## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": "https://eggs.pterodactyl.top/eggs/121/download/egg-swords-n-magic-and-stuff.json"
},
"exported_at": "2025-12-20T05:15:41+00:00",
"name": "Swords 'n Magic and Stuff",
"author": "josdekurk@gmail.com",
"description": "叫上你的朋友,一起踏上充满刀剑、魔法与各种奇妙事物的冒险世界。发现大量酷炫的战利品,揭开隐藏的秘密,沿途结识新朋友与敌人。在这款可爱的多人开放世界角色扮演游戏中,留下你的印记,找到一处可以称之为家的地方。",
"features": null,
"docker_images": {
"Wine": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/yolks:wine_latest"
},
"file_denylist": [],
"startup": "wine /home/container/SNM2020/Binaries/Win64/SNMASServer-Win64-Shipping.exe -port={{SERVER_PORT}} -QueryPort={{QUERY_PORT}} -log",
"image": null,
"config": {
"files": "{}",
"startup": "{\n \"done\": \"Succeeded to create Steam session with ID\"\n}",
"logs": "{}",
"stop": "^^C"
},
"scripts": {
"installation": {
"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## add below your custom commands if needed\r\nmkdir -p /mnt/server/SNM2020/Saved/Config/WindowsServer/\r\n\r\nif [ ! -f /mnt/server/SNM2020/Saved/Config/WindowsServer/Game.ini ]\r\nthen\r\n echo \"The config file does not yet exists, making a new one\"\r\n mv /mnt/server/SNM2020/Content/Docs/Dedicated-Server-Game.ini /mnt/server/SNM2020/Saved/Config/WindowsServer/Game.ini\r\nelse\r\n echo \"Old config file found. Replacing it with a up to date one but a backup will be made\"\r\n mv /mnt/server/SNM2020/Saved/Config/WindowsServer/Game.ini /mnt/server/SNM2020/Saved/Config/WindowsServer/Game-$(date \"+%Y.%m.%d-%H.%M.%S\").ini.old\r\n mv /mnt/server/SNM2020/Content/Docs/Dedicated-Server-Game.ini /mnt/server/SNM2020/Saved/Config/WindowsServer/Game.ini\r\nfi\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "registry.cn-shanghai.aliyuncs.com/pterodactyl-images/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "自动更新",
"description": "在启动时自动更新服务器",
"env_variable": "AUTO_UPDATE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "boolean",
"field_type": "text"
},
{
"name": "查询端口",
"description": "Steam用于客户端查询服务器(如ping等)的端口",
"env_variable": "QUERY_PORT",
"default_value": "27015",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|",
"field_type": "text"
},
{
"name": "重置时间",
"description": "这是重置之间的天数。",
"env_variable": "SNM_DAYS_UNTIL_RESET",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "最大玩家数",
"description": "你可以指定最大玩家数量。",
"env_variable": "SNM_MAX_PLAYERS",
"default_value": "16",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|max:16",
"field_type": "text"
},
{
"name": "服务器名称",
"description": "这是用于您服务器的服务器名称。\n\n您必须选择2到5个**不重复**的单词(不能有重复单词)。\n单词不区分大小写。\n已批准的单词列表变更可在此处查看:`SNM2020/Saved/Logs/Allowed-Words.txt`",
"env_variable": "SNM_NAME",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:64",
"field_type": "text"
},
{
"name": "管理员Steam ID",
"description": "这是该服务器所有者/管理员的Steam ID。",
"env_variable": "SNM_OWNER_STEAM_ID",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "服务器密码",
"description": "这是服务器密码;默认情况下是禁用的。",
"env_variable": "SNM_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:32",
"field_type": "text"
},
{
"name": "重置时间为白天",
"description": "这是服务器重置时的一天中的本地时间。格式为 HH:MM,采用 24 小时制。午夜 => 00:00,上午 10:30 => 10:30,下午 4:30 => 16:30",
"env_variable": "SNM_RESET_TIME_OF_DAY",
"default_value": "00:00",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "App ID",
"description": "",
"env_variable": "SRCDS_APPID",
"default_value": "2058450",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "WINDOWS_INSTALL",
"description": "",
"env_variable": "WINDOWS_INSTALL",
"default_value": "1",
"user_viewable": false,
"user_editable": false,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "WINEARCH",
"description": "",
"env_variable": "WINEARCH",
"default_value": "win64",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|in:win32,win64",
"field_type": "text"
},
{
"name": "WINEDEBUG",
"description": "",
"env_variable": "WINEDEBUG",
"default_value": "-all",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:32",
"field_type": "text"
},
{
"name": "WINETRICKS_RUN",
"description": "",
"env_variable": "WINETRICKS_RUN",
"default_value": "vcrun2019",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:64",
"field_type": "text"
}
]
}附属文件
暂无附属文件
提交历史
Fork 关系
查看关系图暂无 Fork,成为第一个 Fork 的人吧!
统计
20
浏览
2
下载
0
星标
0
复刻
作者
飒
飒爽师叔
UID: 1
279 预设
·
2026-06