适用于 Pterodactyl 面板(v2)的扩展。每个文件夹即一个扩展。
| 扩展 | 功能 | 下载 |
|---|---|---|
| 公告 | 全站公告横幅,用户可自行关闭。 | announcements.zip |
| 备案信息 | 在页面底部显示 ICP 备案号、公安备案号与 ICP 许可证。 | beian.zip |
| 自定义按钮 | 由管理员定义的链接按钮与服务器页面侧边栏项目。 | custom-buttons.zip |
| 深色主题 | 一款更深沉、中性的深色主题,同时可作为编写自有主题的模板。 | dark-theme.zip |
| 短链接跳转 | 由面板提供的短链接,例如 /go/discord。 |
redirect.zip |
| 连续端口 | 服务器「网络」页一次创建多个连续端口,替换原生「新建分配」。 | contiguous-ports.zip |
从最新版本下载对应的 zip 包,然后在面板所在主机上执行:
php artisan p:extension:install /path/to/dark-theme.zip --enable之后重新加载面板。扩展可以在「管理 > 扩展」中停用或移除。
扩展基于面板的 SDK 构建,该 SDK 尚未发布到 npm。请把面板克隆到本仓库根目录下的 .panel
(该目录已被 git 忽略):
git clone --branch 2.0-develop https://github.com/pterodactyl/panel .panel然后在扩展的目录中执行:
npm ci
npm run build
npm run typechecknode scripts/check.mjs <文件夹> 会执行与 CI 相同的包检查。
- 以扩展的
id为名创建文件夹,并放入extension.json、package.json和一个README.md。 - 通过
"@pterodactyl/sdk": "file:../.panel/packages/sdk"依赖 SDK。 - 如果使用 Tailwind,请为它指定自己的短前缀:在
extension.json中设置ui.prefix(2-12 个小写字母,各扩展之间不可重复),并用prefix(<前缀>)构建样式表, 使类名形如<前缀>:flex。面板会拒绝使用未声明前缀的样式。 - 在上表中新增一行,链接到
releases/latest/download/<id>.zip。
CI 会对每个包含 extension.json 的文件夹执行构建、类型检查和打包。
先提升扩展 extension.json 和 package.json 中的 version,然后推送标签:
git tag v1.0.0
git push origin v1.0.0发布内容为每个扩展各一个 <id>.zip。