海盗王基于golang重制版的商城服务端

海盗王原始的商城服务端,附带有很多其他功能(如GM留言管理,商品管理接口),配置起来非常麻烦,而且运行时问题也很多,经常会出现弹出停止响应,无法正常提供服务。
在很早的时候,就想过用C#将它重写一遍,由于C#保密性较差,就一直没开始。
后来,看到有一个不错的golang界面库,可以和golang组合,写一个带界面的程序,也不错。此时,想到了之前重写海盗王商城的问题,就像试验一下是否可行。
golang基于二进制编译,带有内存回收功能,可以编译出安全可靠的单个运行文件,支持64位,加锁绑定机器也不容易被破解,且没有运行时依赖,使用起来非常方便。
于是,就开始对照原版的商城源代码,研究和用golang实现它的通信协议。
由于原版商城采用的是c++直接内存结构体拷贝传递数据的,造成golang解析起来非常困难,只能将它的结构体复制出来,通过c++程序,标记它的偏移量,再用golang进行字节读取。当写入数据的时候,又需要将这一个过程反过来,非常地耗费时间和精力。
好在有运气成分加持,经过漫长的一步一步实现,已经将它的主要功能实现了重写。
这个golang重制版的海盗王商城,去掉了其他的无用功能,只保留了核心的商城功能,支持在不关闭程序的情况开启和停止商城服务。
目前还在测试和优化中。

2023-7-22补充:
已经在测试服务器上替换掉旧版商城使用,同时修复了玩家反映的问题,实现正常服务、占用内存和资源小、稳定运行不崩溃。

海盗王基于golang重制版的商城服务端_第1张图片
海盗王基于golang重制版的商城服务端_第2张图片

你可能感兴趣的:(go,游戏,golang,开发语言,后端)