Skip to content
服务器插件与终端接口

服务器插件开发 ​

本章当前记录经典联机版服务端插件。外部插件和命令由服务端加载,客户端通常不需要单独安装;它适合管理与服务端玩法逻辑,但不能像客户端 MOD 那样自由增加界面和功能方块。

维护路线变化

截至 2026-07,经典联机版仍承载主要联机生态,但后续开发方向将转向插件版的 MP 分支。旧接口文档用于维护存量服务器,新插件应保留源码并避免深度绑定网络内部类,以降低未来迁移成本。参见国内版本生态。

与客户端 MOD 的区别 ​

对比客户端 MOD服务器插件
运行位置API 插件版客户端NET 专用服务端
玩家是否安装通常需要通常不需要
适合内容方块、界面、模型、客户端系统权限、命令、聊天、领地、事件规则
主要入口ModLoader 与内容文件ServerPlugin、事件接口、命令类
版本约束SurvivalcraftApi 分支SurvivalcraftNet 服务端分支

学习路线 ​

  1. 先完成快速开服,确保无插件服务端稳定运行。
  2. 阅读第一个插件,建立最小 DLL,了解两种引用方式与生命周期。
  3. 按主题学习 API 教程(见下),先掌握命令与事件,再做玩家管理、数据存储。
  4. 按事件与命令路线图选择扩展点。
  5. 查阅完整的接口参考和源码案例导读。
  6. 用测试世界验证加载、保存、重启与多玩家行为。

API 教程(按主题) ​

下面这组教程由社区插件文档整理而来,覆盖最常见的开发场景,可直接对照 接口参考 使用:

  • 命令系统:创建自定义命令、解析参数、权限与控制台判断。
  • 事件系统:监听玩家进入/离开、破坏放置、移动等行为。
  • 玩家管理:查找玩家、发消息、传送、给物品、踢出。
  • 核心 API 速查:命名空间、GameManager、向量、网络包、背包等片段。
  • 数据存储:用 JSON 保存配置与玩家数据。
  • 完整示例:欢迎插件、传送命令、区域保护、签到命令。

两套构建的命名空间差异

社区源码构建(sc2.2network)中 AbstractProcessCmd 位于 Game.Server;插件站 / 发行 DLL 构建中位于 Game.Server.EssentialCmd,目标框架为 .NET 8.0。教程示例以后者写法为主,成员签名一致,仅 using 与引用方式不同。开发时请锁定你服务端对应的提交或发行标签。

适合从什么功能开始 ​

  • 玩家加入/离开提示;
  • 基础管理命令;
  • 聊天内容检查;
  • 告示牌编辑保护;
  • 方块放置与破坏审计;
  • 简单权限和封禁校验。

不要把领地系统、经济系统或复杂跨服功能作为第一个插件。它们涉及持久化、并发、权限、安全和数据迁移,调试面过大。

相关项目 ​

接口随服务端演进

仓库发布说明已经多次增加或调整终端、命令与事件接口。开发时必须锁定服务端提交或发行标签,不要只写“支持最新版”。

参与共建发现错误或有建议?两种零门槛方式,无需本地环境

玩家共建文档 · 原版、插件版、联机版与插件联机版请注意区分