墨香Online
《墨香Online》是EYA Interactive Limited经历近4年开发制作出来的3D东方幻想武侠游戏。游戏中采用超过75张地图呈现出了中国古代大陆的全貌,其中包括敦煌、兰州、长安、开封、北京、苏州、少林寺、秦始皇陵、杭州、泰山、长城、黄河……等等的名胜古迹和名山大川,穿越时空齐聚在游戏里的历代名人NPC营造出了浓烈的中华文化景观。在历时近4年的开发过程中,开发团队为求提高游戏真实度,更几度前往中国各地考察、采集资料,并利用游戏强大的3D引擎将风格各异的当地风土民情惟妙惟肖地描绘出来,即真实又写意,为玩家营造出一个疑幻似真的古代中国武侠江湖,《墨香Online》同时也在香港、台湾、马来西亚,新加坡等地取得了傲人的运营成绩。
这款游戏室自己比较喜欢玩的一款老游戏,但是该游戏代码过于陈旧,如果推翻重构自己没有足够的时间精力,且周期过久,而且对WIN系统的熟悉程度不如Linux,因此拿到源码后就想对他做升级改造,重新编译后的代码将支持部署在Linux环境下的服务器,目前已经完成了整体框架及WIN依赖香港的工作内容,代码部署在Linux服务器基本可以稳定正常工作,目前测试服务器运行稳定,工作可以满足365x24小时周期,因为一期计划我只适配到CentOS7,目前在计划适配到Debian和uBuntu系统,在开发过程中遇到很多问题,顺便做了些归档记录。
将《墨香Online》的源代码从Windows服务器迁移到Linux CentOS 7下运行,需要结合工具和传统开发流程进行代码适配、编译和部署。以下是详细的步骤和建议,确保在遵守法律法规和知识产权的前提下,利用对Linux、Win相关技术栈的熟悉辅助完成迁移:
前置准备工作
- 程序源码:提前将源码准备好,务必确认代码是完整的
- 环境准备:编译服务器、开发服务器、测试服务器、生产服务器(我自己是用PVE安装的实体物理服务器做的虚拟化)
- 镜像准备:我是将其做了软路由的环境安装,由于硬件配置很高,我给每个实例很高的配置用于完成对应任务
- 脚本编译:针对操作中各种问题比较多,部署调试繁琐,我整理编写了对应脚本可以实现一键安装部署
- 免责声明:写此篇内容主要是记录和研究代码使用,无商业用途及恶意,请大家合理合法进行
一、总体流程概述
- 环境分析与准备:评估源代码的语言、依赖库和Windows环境特性,准备CentOS 7的开发环境。
- 代码适配与重构:利用工具软件辅助分析代码,识别Windows特有API/库,替换为Linux兼容实现。
- 编译与测试:在CentOS 7上编译代码,解决依赖和兼容性问题,测试运行效果。
- 部署与优化:将编译后的程序部署到CentOS 7服务器,优化性能并确保稳定性。
前提假设:
- 你拥有《墨香Online》源代码的合法使用权(如自研或获得授权)。
- 源代码语言为C/C++、C#或其他常见游戏服务端语言(需确认具体语言)。
- 代码完整,包括服务端、数据库脚本等。
- 为了自己研究学习,如果你要商业建议联系官方获取商业授权。
二、利用辅助软件工具的具体步骤
1. 环境准备与代码分析
目标:了解代码结构,识别Windows依赖。
- 手动操作:
- 在CentOS 7上安装开发工具:
sudo yum install gcc g++ make cmake git python3
. - 检查源代码的编程语言(C/C++、C#、Java等)和依赖(如DirectX、WinSock)。
- 确认数据库(如MySQL、SQL Server)及中间件(如ODBC)需求。
- 在CentOS 7上安装开发工具:
- 环境辅助:
-
<