简体中文 / English
PalPanel 是基于Next.js实现的帕鲁服务器管理面板。通过RCON协议,管理员可以轻松管理服务器,执行各种操作,包括用户管理、黑名单维护、存档保存等功能。
- 在线用户管理:查看当前在线用户,执行封禁或踢出操作。
- 可视化Steam信息:查看在线用户的Steam账户信息。
- 黑名单管理:轻松添加或移除黑名单条目。
- 实时banlist.txt生成:实时生成封禁名单文件,可结合帕鲁服务器配置远程banlist.txt
- 游戏广播:向所有玩家发送游戏内广播消息。
- 游戏存档保存:备份游戏存档,确保游戏数据安全。
- 关闭服务器:当需要时,可以安全地关闭游戏服务器。
使用PalPanel之前,您需要确保您的游戏服务器已启用RCON协议。配置好PalPanel面板后,您可以执行以下操作:
- 查看在线用户:在PalPanel中,您可以看到所有在线玩家的列表,并进行管理。
- 管理黑名单:通过简单的界面添加或移除用户到黑名单。
- 发送游戏广播:使用广播功能,您可以发送消息到游戏中,通知或者提醒玩家。
- 保存游戏存档:定期或在必要时手动保存游戏存档。
- 关闭服务器:在维护或更新游戏时,您可能需要关闭服务器,PalPanel提供了这一功能。
PalPanel项目需要一些环境变量才能正常运行。
请确保在部署或本地开发之前设置这些环境变量。
RCON_HOST
: RCON服务器的主机名或IP地址。RCON_PORT
: RCON服务器的端口号。RCON_PASSWORD
: RCON服务器的密码。AUTH_SECRET
: 用于身份验证的密钥,请使用openssl rand -base64 32
生成WEB_USERNAME
: 网站管理员的用户名(明文)。WEB_PASSWORD
: 网站管理员的密码的SHA256
哈希值,可在线生成 SHA256 GeneratorSTEAM_API_KEY
: Steam API的密钥,请前往Steam官方申请。 请将这些环境变量添加到您的项目中。您可以使用.env文件或部署平台的配置界面来设置这些变量。
本综合指南将帮助您构建和部署PalPanel。请选择最适合您需求的方法。
在构建PalPanel之前,请确保您已安装以下软件:
- Docker: 安装Docker
- Docker Compose(可选): 安装Docker Compose
适用于开发、测试或不使用Docker运行PalPanel。
# 克隆仓库
git clone https://github.com/shuaihaoV/PalPanel.git
cd PalPanel
# 安装项目依赖
yarn install
# 复制环境变量模板
cp .env .env.local
# 编辑环境变量文件
# Windows: notepad .env.local
# Linux/macOS: nano .env.local
在 .env.local
中设置以下变量:
RCON_HOST=你的帕鲁服务器IP
RCON_PORT=25575
RCON_PASSWORD=你的RCON密码
AUTH_SECRET=你生成的密钥
WEB_USERNAME=admin
WEB_PASSWORD=你的密码哈希值
STEAM_API_KEY=你的Steam API密钥
# 生成AUTH_SECRET(将输出复制到你的.env.local文件中)
openssl rand -base64 32
# 生成WEB_PASSWORD哈希值(将"你的密码"替换为你想要的密码)
echo -n "你的密码" | sha256sum | awk '{print $1}'
# 启动开发服务器
yarn dev
应用程序将在 http://localhost:3000
可用
# 构建生产版本
yarn build
# 启动生产服务器
yarn start
从源代码构建您自己的Docker镜像。
# 克隆仓库
git clone https://github.com/shuaihaoV/PalPanel.git
cd PalPanel
# 构建Docker镜像
docker build -t palpanel:custom .
# 生成必需的密钥
AUTH_SECRET=$(openssl rand -base64 32)
WEB_PASSWORD=$(echo -n "你的密码" | sha256sum | awk '{print $1}')
# 运行容器
docker run -d \
--name PalPanel \
-p 3000:3000 \
-e RCON_HOST=你的帕鲁服务器IP \
-e RCON_PORT=25575 \
-e RCON_PASSWORD=你的RCON密码 \
-e AUTH_SECRET=$AUTH_SECRET \
-e WEB_USERNAME=admin \
-e WEB_PASSWORD=$WEB_PASSWORD \
-e STEAM_API_KEY=你的Steam API密钥 \
palpanel:custom
# 生成AUTH_SECRET
AUTH_SECRET=`openssl rand -base64 32`
WEB_PASSWORD=`echo -n "密码" | sha256sum | awk '{print $1}'`
# Docker启动
docker run -d \
--name PalPanel \
-p 80:3000 \
-e RCON_HOST=RCON服务器域名或IP \
-e RCON_PORT=RCON服务器端口 \
-e RCON_PASSWORD=RCON连接密码 \
-e AUTH_SECRET=$AUTH_SECRET\
-e WEB_USERNAME=面板用户名 \
-e WEB_PASSWORD=$WEB_PASSWORD \
-e STEAM_API_KEY=STEAM密钥 \
shuaihaov/palpanel:latest
mkdir palpanel && cd palpanel
wget https://github.com/shuaihaoV/PalPanel/raw/main/docker-compose.yml
wget https://raw.githubusercontent.com/shuaihaoV/PalPanel/main/.env
# 修改.env
vim .env
# docker compose 启动
docker compose up -d
# 部分版本使用 docker-compose up -d
问题:"AUTH_SECRET is required"
# 生成新的AUTH_SECRET
openssl rand -base64 32
问题:"Connection refused"或RCON错误
- 验证您的帕鲁服务器已启用RCON
- 检查RCON_HOST和RCON_PORT是否正确
- 确保RCON_PASSWORD与服务器配置匹配
- 验证防火墙设置允许连接到RCON端口
问题:登录时"Invalid credentials"
# 重新生成密码哈希
echo -n "你的实际密码" | sha256sum | awk '{print $1}'
问题:Docker构建失败,出现网络错误
- 这可能在受限环境中发生
- 尝试拉取预构建镜像:
docker pull shuaihaov/palpanel:latest
问题:"Permission denied"错误
# 在Linux/macOS上,您可能需要使用sudo运行Docker命令
sudo docker run ...
问题:端口3000已被占用
# 使用不同端口
docker run -p 8080:3000 ...
# 然后通过 http://localhost:8080 访问
问题:环境变量未加载
- 确保
.env
文件与docker-compose.yml在同一目录 - 检查变量名是否完全匹配(区分大小写)
- 更改环境变量后重启容器
如果您遇到此处未涵盖的问题:
- 查看 Issues 页面寻找类似问题
- 通过设置
NODE_ENV=development
启用调试日志 - 检查Docker日志:
docker logs PalPanel
本项目支持国际化(i18n),可以轻松适配多种语言环境,确保不同语言的用户都能使用PalPanel进行服务器管理。
欢迎将 locales/ 中的json文件翻译成你的语言,并提出PR请求。
如果您想为PalPanel贡献代码或提供反馈,请遵循以下步骤:
- Fork 项目仓库。
- 创建您的特性分支 (
git checkout -b feature/AmazingFeature
)。 - 提交您的更改 (
git commit -m 'Add some AmazingFeature'
)。 - 将您的更改推送到分支 (
git push origin feature/AmazingFeature
)。 - 打开一个Pull Request。
如果您在使用PalPanel时遇到问题或需要帮助,请通过以下方式联系我们:
- 在本项目的 Issues 页面提交问题
- 参考了Bluefissure/pal-conf项目的部分前端实现