【问题标题】:How can I add modding system in my client-server multiplayer game如何在我的客户端-服务器多人游戏中添加改装系统
【发布时间】:2021-08-29 04:51:03
【问题描述】:

我统一创建了一个客户端-服务器多人游戏。我成功地添加了所有基本的东西。现在,在服务器端,我添加了一个基本的 mod 系统(如 Minecraft 中的 spigot/bukkit)。我认为应该关闭服务器端的基本代码,为该改装系统创建一个 api。不打开服务端基础代码,如何实现。

注意:我的模组系统应该有事件侦听器和主类处理程序,如 Spigot/bukkit(在服务器端),还请告诉我如何为该模组创建 c# DLL 以及如何在运行时调用启动类。

编辑:我在手机上问了这个问题,所以对于任何拼写错误,我很抱歉。

代码示例: 客户端发送玩家移动数据包,服务器将处理该数据包, 并将玩家各自的位置发送给自己和所有其他人 玩家。现在我想告诉插件/模组玩家正在移动并且
plugin/mod 将执行他们的代码。

【问题讨论】:

  • 对于事件处理程序,我有一个带有 getPlayer() 和 getLocation() 方法的 PlayerMoveEvent 示例。我知道如何实现这些,但如何调用很多方法,这些方法将这个 PlayerMoveEvent 类作为参数。
  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: c# unity3d


【解决方案1】:

作为 UnityGame,您应该查看Harmony 2。 Harmony 具有很大的灵活性,使用户能够在游戏中的几乎所有内容上制作 C# lib mod。

将 c# DLL 创建为 mod。您必须在游戏的同一 .NET 版本上创建一个新的 Visual Studio 项目。并引用已编译游戏的 /Managed 文件夹中的所有 dll。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-08
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    • 2014-07-14
    • 2022-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多