自行部署
本文介绍如何在自己的服务器上部署 SCWebManager,并通过域名安全访问。适用于面板与游戏服务端部署在同一台机器,或分开部署的常见场景。
部署方式
| 方式 | 适用场景 |
|---|---|
| 本机使用 | 面板与浏览器在同一台机器,默认仅回环访问 |
| 局域网 | 多台设备在同一内网,面板开放局域网访问 |
| 公网反向代理 | 通过 Nginx、Caddy 或 Cloudflare Tunnel 暴露面板 |
| 分离部署 | 面板在一台机器,游戏服务端在另一台机器 |
准备
- 一台可运行面板的主机(Windows 或 Linux)。
- 面板发布包。
- 如需域名访问,准备可解析的域名与 TLS 证书。
- 如需公网访问,建议使用反向代理,不要直接暴露面板端口。
安装面板
Windows:
powershell -ExecutionPolicy Bypass -File .\install.ps1
Linux:
sudo bash install.sh
安装完成后确认面板进程与守护进程正常运行:
systemctl status scwebmanager
Windows 下可通过服务管理器确认守护进程服务状态。
反向代理
Nginx
server {
listen 443 ssl http2;
server_name panel.example.com;
ssl_certificate /etc/nginx/certs/panel.crt;
ssl_certificate_key /etc/nginx/certs/panel.key;
location / {
proxy_pass http://127.0.0.1:18233;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_buffering off;
proxy_read_timeout 3600s;
}
}
SSE 实时推送需要关闭响应缓冲。proxy_buffering off 与较长的 proxy_read_timeout 是必要配置。
Caddy
panel.example.com {
reverse_proxy 127.0.0.1:18233 {
flush_interval -1
}
}
flush_interval -1 用于立即刷新 SSE 数据。
Cloudflare Tunnel
cloudflared tunnel --url http://127.0.0.1:18233
在 Cloudflare 控制台中为隧道绑定域名即可。面板已针对隧道与 CDN 场景设置 no-transform 与心跳,避免实时数据被缓冲。
访问范围与来源 IP
面板根据请求来源判断是否放行。经反向代理访问时,请确保代理传递 X-Forwarded-For,否则面板只能看到代理地址,可能误判来源。
在「设置 → 面板设置」中按部署方式选择:
- 仅回环:仅本机。
- 允许局域网:本机与内网。
- 允许公网:任意来源,建议仅在反向代理与强口令下使用。
安全建议
- 使用强密码,并定期更换。
- 公网访问必须启用 HTTPS。
- 限制面板端口只对可信来源开放。
- 定期备份
config.json、data/与实例目录。 - 不向普通用户开放命令执行与文件写入类 AI 工具。
- 升级前校验
SHA256SUMS。
升级与回滚
- 停止面板与守护进程。
- 备份配置与 数据目录。
- 替换程序文件。
- 启动并验证实例状态与插件连接。
如升级后出现异常,恢复旧版本程序文件与对应配置即可回滚。
数据迁移
迁移到新主机时,复制以下内容:
- 程序安装目录中的
config.json。 data/目录。- 实例目录与备份目录。
迁移后如端口或路径发生变化,请在面板设置中更新,并重启实例。
常见部署问题
页面能打开但实时数据不更新
检查反向代理是否关闭缓冲,并确认 X-Forwarded-For 正确传递。
登录后提示无权限
确认账号角色与实例授权。普通用户默认不能访问全部实例。
实例启动失败
查看实例日志中的服务端输出,并确认工作目录与程序路径正确。
插件未连接
确认插件 DLL 已加载,实例已重启,且 18235 起端口未被防火墙拦截。