Skip to content

Latest commit

 

History

History
128 lines (101 loc) · 5.65 KB

File metadata and controls

128 lines (101 loc) · 5.65 KB

Server Maid 🧹

SCP: Secret Laboratory 服务器清洁插件

一个支持 EXILEDLabAPI 双框架的轻量级插件,帮你自动清理玩家尸体和无用掉落物,让服务器时刻保持整洁。

Downloads


🛠️ 开发者说明

项目结构

本项目使用条件编译同时支持 EXILEDLabAPI 两个框架,通过不同的编译配置生成对应的 DLL 文件。

生成不同版本

Visual Studio 图形界面

  1. 打开 生成配置管理器
  2. 活动解决方案配置 下拉框中选择:
    • Debug-LabApi / Release-LabApi → 生成 LabAPI 版本
    • Debug-Exiled / Release-Exiled → 生成 EXILED 版本
  3. 点击 生成生成解决方案

命令行编译

# LabAPI 版本
msbuild Server_Maid.csproj /p:Configuration=Release-LabApi

# EXILED 版本  
msbuild Server_Maid.csproj /p:Configuration=Release-Exiled

输出文件

配置 输出路径 文件名
Release-LabApi bin\Release-LabApi\ Server Maid.LabApi.dll
Release-Exiled bin\Release-Exiled\ Server Maid.Exiled.dll

注意事项

  • 请勿同时引用两个框架的 API,代码中请使用 #if EXILED / #else 进行区分
  • 清理解决方案后请确保删除 bin/obj/ 文件夹再切换配置编译
  • LabAPI 和 EXILED 使用的 Assembly-CSharp 不同(原版 vs Publicized),已在项目文件中自动处理

✨ 主要功能

  • 双框架支持:同时兼容 EXILEDLabAPI 两种插件框架。
  • 全自动清理:每回合按可配置的时间间隔自动运行。
  • SCP-3114 友好:3114 正在伪装的玩家尸体永远不会被误删导致提前暴露。
  • 多种过滤方式
    • 物品类别(弹药、护甲、钥匙卡…)
    • 白名单(仅保留指定物品)
    • 黑名单(仅删除指定物品)
  • 双语提示:内置中文 & 英文,支持完全自定义。
  • 零性能负担:单协程执行,极轻量。

🚀 安装步骤

EXILED 版本

  1. 前往 Releases 页面下载 Server Maid.Exiled.dll
  2. 将文件放入服务器的 EXILED/Plugins 文件夹。
  3. 重启或重载服务器。
  4. (可选)在 EXILED/Configs/Plugins/server_maid/{端口号}.yml 中修改生成的配置文件。

LabAPI 版本

  1. 前往 Releases 页面下载 Server Maid.LabApi.dll
  2. 将文件放入服务器的 LabAPI/plugins/{端口号}|global 文件夹(若无此目录请手动创建)。
  3. 重启服务器。
  4. (可选)在 SCP Secret Laboratory/LabAPI/configs/{端口号}/Server Maid/服务器女仆/config.yml. 中修改生成的配置文件。

⚠️ 注意:请勿同时使用两个版本,请根据您的服务器框架选择其一。


⚙️ 配置说明

所有值都可直接编辑 YAML 文件。

键名 类型 默认值 说明
IsEnabled bool true 插件总开关
IsCleaningModuleEnabled bool true 清理模块独立开关
CleaningType enum Category 清理模式:Category(按类别)、WhiteList(白名单)、BlackList(黑名单)
Categories list [Ammo, Armor, Keycard, None, Radio] 仅当 CleaningType = Category 时生效。列表内的物品类别会被清理
WhiteList list [] 仅当 CleaningType = WhiteList 时生效。列表以外的物品才会被清理
BlackList list [] 仅当 CleaningType = BlackList 时生效。列表内的物品会被清理
CleaningInterval float 300 每次清理的间隔时间(秒)
ServerConsoleMessages string "Cleanup successful! Cleaning {0} items and {1} ragdolls this time!" 清理成功后服务器控制台提示
BroadcastMessages string "<b><size=25>[<color=#EEEE00>Server Maid</color>] ... </size></b>" 清理成功后游戏内广播内容

📖 示例配置(中文)

# Do you want to enable the plugin? / 是否开启此插件?
is_enabled: true
debug: false
# Cleaning module settings / 清理模块设置
is_cleaning_module_enabled: true
# Pickups Cleaning type: Category/Whitelist/Blacklist / 掉落物清理类型: 物品种类/白名单/黑名单
cleaning_type: Category
categories:
- Ammo    # 弹药
- Armor   # 护甲
- Keycard # 钥匙卡
- None    # 未定义物品
- Radio   # 对讲机
white_list: []
black_list: []
cleaning_module_enabled_server_console_messages: '清理模块已在本回合启动!'
# Cleaning interval time Unit: seconds / 清理间隔时间 单位:秒
cleaning_interval: 180
# Cleanup ended displaying content {0} represents the number of items cleared {1} is the player's ragdolls / 清理结束显示内容 {0} 代表清理的物品数量 {1} 为玩家尸体
server_console_messages: '[服务器女仆] 已清理 {0} 个掉落物并送 {1} 位伤员去医务室!'
broadcast_messages: '<b><size=25>[<color=#EEEE00>服务器女仆</color>]清理完毕! 已清理 {0} 个掉落物并送 {1} 位伤员去医务室!</size></b>'

🤝 参与贡献

欢迎提交 Pull Request、Bug 报告与功能建议!
如计划进行重大修改,请先开一个 Issue 讨论。


用爱制作 ❤️ by XingYeNotFish
“好服务器值得拥有一位好女仆。”