diff --git a/apps/gsmanager/app.json b/apps/gsmanager/app.json new file mode 100644 index 00000000..90a6c456 --- /dev/null +++ b/apps/gsmanager/app.json @@ -0,0 +1,117 @@ +{ + "appid": -1, + "appname": "gsmanager", + "apptitle": "GSManager-游戏服务端一键部署面板", + "apptype": "Tools", + "appTypeCN": "实用工具", + "appversion": [ + { + "m_version": "latest", + "s_version": [] + } + ], + "appdesc": "GameServerManager 3.0(简称GSM3)是一个基于现代化技术栈的游戏服务器管理平台,采用 React + TypeScript + Node.js 架构,专为简化游戏服务器的部署、管理和维护而设计。", + "appstatus": 1, + "home": "https://github.com/GSManagerXZ/GameServerManager", + "help": "http://docs.gsm.xiaozhuhouses.asia/", + "updateat": 1784968552, + "depend": null, + "field": [ + { + "attr": "domain", + "name": "域名", + "type": "textarea", + "default": "", + "suffix": "浏览器访问的域名,非必填", + "unit": "" + }, + { + "attr": "allow_access", + "name": "允许外部访问", + "type": "checkbox", + "default": true, + "suffix": "允许直接通过主机IP+端口访问", + "unit": "" + }, + { + "attr": "gsm_web_port", + "name": "web管理端口", + "type": "number", + "default": 3001, + "suffix": "GSManager的web管理面板端口", + "unit": "" + }, + { + "attr": "game_port", + "name": "游戏服务器端口", + "type": "number", + "default": 27015, + "suffix": "游戏服务端默认端口,可按需在面板中映射更多端口", + "unit": "" + }, + { + "attr": "cpus", + "name": "cpu核心数限制", + "type": "number", + "default": 0, + "suffix": "0为不限制,最大可用核心数为: ", + "unit": "" + }, + { + "attr": "memory_limit", + "name": "内存限制", + "type": "number", + "default": 0, + "suffix": "0为不限制,最大可用内存为: ", + "unit": "" + } + ], + "env": [ + { + "key": "gsm_web_port", + "type": "port", + "default": null, + "desc": "web管理端口" + }, + { + "key": "game_port", + "type": "port", + "default": null, + "desc": "游戏服务器端口" + }, + { + "key": "app_path", + "type": "path", + "default": null, + "desc": "应用数据目录" + }, + { + "key": "host_ip", + "type": "string", + "default": null, + "desc": "主机IP" + }, + { + "key": "cpus", + "type": "number", + "default": null, + "desc": "CPU核心数限制" + }, + { + "key": "memory_limit", + "type": "number", + "default": null, + "desc": "内存大小限制" + } + ], + "volumes": { + "game_data": { + "type": "path", + "desc": "Steam用户数据目录" + }, + "game_file": { + "type": "path", + "desc": "游戏文件目录" + } + } +} diff --git a/apps/gsmanager/icon.png b/apps/gsmanager/icon.png new file mode 100644 index 00000000..b548bc19 Binary files /dev/null and b/apps/gsmanager/icon.png differ diff --git a/apps/gsmanager/latest/.env b/apps/gsmanager/latest/.env new file mode 100644 index 00000000..67ce1236 --- /dev/null +++ b/apps/gsmanager/latest/.env @@ -0,0 +1,6 @@ +GSM_WEB_PORT= +GAME_PORT= +HOST_IP= +CPUS= +MEMORY_LIMIT= +APP_PATH= diff --git a/apps/gsmanager/latest/docker-compose.yml b/apps/gsmanager/latest/docker-compose.yml new file mode 100644 index 00000000..84bd41d3 --- /dev/null +++ b/apps/gsmanager/latest/docker-compose.yml @@ -0,0 +1,37 @@ +volumes: + gsm3_data: + driver: local +services: + gsmanager: + image: xiaozhu674/gameservermanager:latest + user: root + deploy: + resources: + limits: + cpus: ${CPUS} + memory: ${MEMORY_LIMIT} + ports: + - ${HOST_IP}:${GSM_WEB_PORT}:3001 + - ${HOST_IP}:${GAME_PORT}:27015 + volumes: + - ${APP_PATH}/game_data:/home/steam/.config + - ${APP_PATH}/game_data:/home/steam/.local + - ${APP_PATH}/game_file:/home/steam/games + - ${APP_PATH}/game_data:/root/.config + - ${APP_PATH}/game_data:/root/.local + - ${APP_PATH}/game_file:/root/steam/games + - gsm3_data:/root/server/data + environment: + - TZ=Asia/Shanghai + - SERVER_PORT=3001 + stdin_open: true + tty: true + restart: unless-stopped + labels: + createdBy: "bt_apps" + networks: + - baota_net + +networks: + baota_net: + external: true