Files
netease-modsdk-wiki/docs/mcguide/27-网络游戏/课程8:使用Spigot开服/20-Spigot服务器Mod简介.md
2025-03-17 13:24:39 +08:00

5.1 KiB
Raw Blame History

front, hard, time
front hard time
入门 60分钟

Spigot服务器Mod简介

名词释义

  • SpigotMaster插件 为实现Spigot服务端和客户端进行自定义事件通信实现的Spigot服务器收发信息的官方插件

  • 客户端Mod 客户端通过ModSdk接口实现的,仅包含客户端逻辑的自定义模组

  • Spigot插件 服主基于SpigotMaster插件、Spigot原生插件接口实现的Spigot插件 Spigot原生插件开发文档

  • 游戏服Mod 指服主实现的玩法mod它一般包括客户端ModSpigot插件

游戏服Mod的组成结构

目前Spigot的Mod主要由两部分组成

  • Spigot插件服主自行实现逻辑并修改Spigot配置加载对应的插件用以实现服务端相关逻辑

  • 客户端Mod通过目前提供的ModSdk客户端接口编写客户端相关逻辑用以实现客户端相关逻辑主要包含

    • behavior_packs用来控制客户端行为逻辑
    • resource_packs存放客户端资源

客户端Mod的目录结构样例

我们以demoMod为示例介绍游戏服Mod目录结构

demoMod
	behavior_packs
            behavior_pack_geyser_demo_mod
                    geyserDemoMod
                        geyserDemoModScript
                            modClient
                            modCommon
                            modMain.py
                            __init__.py
                    entities
                    pack_manifest.json
	resource_packs
		resource_pack_geyser_demo_mod
                    pack_manifest.json
文件/文件夹 解释
demoMod 游戏服Mod根目录
behavior_packs 存放客户端行为包,可以包含多个行为包
behavior_pack_geyser_demo_mod 行为包
geyserDemoMod python脚本的根目录该目录的脚本会被加到python运行环境下可以从该路径开始import脚本文件例如from geyserDemoMod import modMain
modClient pytho客户端行为逻辑包含GeyserDemoModClientSystem
modCommon 通用数据包含Modname、自定义事件等定义
resource_packs 存放客户端资源,可以包含多个资源包
resource_pack_geyser_demo_mod 资源包
pack_manifest.json mod资源版本信息

更多模组SDK内容详见: mod开发简介

Spigot插件目录结构样例

结构

listen_plugin
	main
        java\com\netease
            command
                ServerCommand.java
                ToClientCommand.java
            App.java
            ClientListener.java
            GlobalVar.java
            ServerOriginalListen.java
        resouces
            plugin.yml
文件/文件夹 解释
java\com\netease 插件逻辑代码目录
command 指令处理类目录
App.java 插件入口
ClientListener.java 客户端事件监听处理函数
GlobalVar 通用数据储存类
ServerOriginalListen Spigot原生事件监听处理函数
resouces 插件资源版本信息
plugin.yml mod资源版本信息

客户端Mod上传加载流程

  • 如图所示

    • mod目录结构 上传1
    • studio配置 上传
  • Geyser读取客户端Mod后会有如下输出 加载成功1

Spigot插件加载流程

  • 如图所示把mvn clean install编译出的xxx.jar放入Spigot的Plugin文件夹 上传

  • Spigot加载插件后会有输出具体命名由plugin.yml决定 加载成功2

DemoMod样例详细刨析