冒险岛HeavenMS搭建
前言

手把手教你从零开始搭建一个HeavenMS。
HeavenMS是基于GMS(国际服)v083的Java版本的服务器,对标CMS的079版,是大巨变(Big Bang)前的一个版本。BUG非常少,任务全,配置项丰富,搭建简单,运行稳定。
HeavenMS来自国外游戏开发论坛RaGEZONE,是继OdinMS后又一重磅,作者Ronan,贴子地址https://forum.ragezone.com/f427/v83-heavenms-1135955/
HeavenMS拥有4年的开发历史,修复了海量BUG,服务器根目录提供了配置文件,可改:经验、金币、掉落、BOSS掉落等。GitHub上该项目最后更新是在2019年12月,已两年未更新了。
一、环境准备
windows64位,为防止出现链接失效,每个步骤提供多个选择。

JDK1.8
选择1:https://pan.baidu.com/s/14nOYKOd6DVxbRjx7Ts0uqg 提取码:n1bg
选择2:https://repo.huaweicloud.com/java/jdk/8u201-b09/jdk-8u201-windows-x64.exe
打开.exe安装包,一直点下一步即可。中间弹出来的窗口也点下一步。安装路径中最好不要包含中文。PATH环境变量和JAVA_HOME最好先配上,启动服务器时要用。
MySQL5.5
选择1:https://downloads.mysql.com/archives/get/p/23/file/mysql-5.5.40-winx64.msi
选择2:https://pan.baidu.com/s/1meNDKJLmVnc3fMcybpbW6w 提取码:p8wx
打开.msi安装包后,步骤如下:Next -> 勾选"I accept the terms..."然后Next -> 选Typical -> 点Install -> 中间弹出一个框,点Next -> Next -> Finish -> 弹出配置向导框点Next -> 选中Detailed Configuration后点Next -> 选中Developer Machine后Next -> 选Multifunctional Database后点Next -> Next -> Next -> Next -> 选中Best Support...后Next -> 勾上Include Bin Directory in Windows PATH后Next -> 两个输入框表示数据库root用户的密码,请编一个密码,这里以123456为例。同时勾上Enable root access from remote machines,然后Next -> 点Execute -> 等待,这个过程不要操作电脑,否则容易卡死 -> Finish
SQLyog或Navicat
这里仅提供SQLyog,请安装MySQL5.5后再安装SQLyog
选择1:https://pan.baidu.com/s/1YGAKkm7iiCvUprKjEPLlYg 提取码:5yd3
选择2:https://wwu.lanzoui.com/i5nXD09fuekj 密码:9zks
直接安装即可。安装完毕后打开SQLyog,用户名填root,密码框确保输入的是安装MySQL时的root密码,以密码为123456为例,其他不要改变,然后点“连接”。

HeavenMS服务器端
压缩包55.7M,解压后556.6M
选择1:打开https://github.com/ronancpl/HeavenMS后,点击绿色按钮Code,展开后点击Download ZIP
选择2:如果上一个打不开,就访问https://gitee.com/zhoudi94/HeavenMS,点击“克隆/下载”,再点击“下载ZIP”
选择3:https://pan.baidu.com/s/1CxWfIrlPF5EtL1cIPMUfMA 提取码:yow9
解压到任意目录。
GMSv083客户端
基于GMS英文汉化后的客户端。压缩包1.60G,解压后2.23GB
选择1:https://pan.baidu.com/s/1GAgyysoRqKsfv-ODvnGkfA 提取码:ysn1
选择2:https://pan.baidu.com/s/17z3pBKu3jz5AOJmB9eFzqQ 提取码:f5zc
解压到任意目录。
NetBeans IDE 8.2
注:必须安装完JDK1.8后才能安装NetBeans IDE 8.2
选择1:http://xzd.197946.com/netbeans8.2.zip
选择2:https://pan.baidu.com/s/12JrEB752pkkFluZ7ny_OCw 提取码:oe3z
打开安装程序,下一步即可,不用勾“检查更新”,安装过程非常慢。安装完成后的选择框也不用勾。
二、本地部署
打开解压后的HeavenMS-master目录里的sql文件夹,同时打开SQLyog。在SQLyog里,右击左边的root@localhost,选择“执行SQL脚本”。注意,执行顺序一定为db_database.sql、db_drops.sql、db_shopupdate.sql,不要乱序,不要重复执行。执行完三个sql文件后关闭窗口。注:以后不要再执行这三个sql文件,除非想体验一把删库跑路。

打开HeavenMS-master目录里的config.yaml,建议使用有显示行号的编辑器打开。10到17行分别为:频道数、经验倍率、金币倍率、掉落倍率、Boss掉落、任务经验金币、钓鱼金币、坐船用时。

165到167行分别为,数据库URL、用户名、密码,密码必填,以123456为例,填入到DB_PASS:""的双引号中间。

183和184行是PIC和PIN的开启选择,PIC和PIN相当于安全密码,登号、删角色都要输入,鸡肋功能,建议把这两的true都改为false。189行是自动注册功能,就是登录时随便输一个账号密码都会给你自动注册,如果值为false则会禁用,这时注册游戏账号需要你在MySQL的heavenms库里的accounts表里插入数据。200-203行是服务器IP地址配置,能够实现局域网或公网联机。

打开NetBeans IDE 8.2,左上角,文件 -> 新建项目 -> Java -> 基于现有源代码的Java项目 -> 下一步 -> 项目名称heavenms -> 下一步 -> 源包文件夹这里的“添加文件夹” -> 选中服务端HeavenMS-master目录里的src文件夹(解释一句,src就是用Java写的源码)后,点“打开”按钮。 -> 点 “完成”。等右下角蓝色进度条消失,右键左边heavenms下边的“库” -> 添加JAR/文件夹 -> 进入到HeavenMS-master目录里的cores文件夹里面,全部选中里面6个jar包后,点“打开” -> 等右下角蓝色进度条消失 -> 右键左边heavenms,选“清理并构建”,等右下角进度结束。
右键左边的heavenms,选属性,在电脑里找到“项目文件夹”对应的那个目录,在其目录下的dist文件夹里有一个heavenms.jar文件,将此文件复制到你服务器HeavenMS-master目录里的cores文件夹里面后,在HeavenMS-master根目录下新建一个dist文件夹,把cores文件夹里面的7个jar包都复制到刚刚新建的dist文件夹里面。

这时可以尝试开服了。双击HeavenMS-master目录下的launch.bat文件,如果没有发生端口被占用的情况,应该能出现“HeavenMS is now online”字样。千万不要关闭这个黑窗口,而且一定要右键黑窗口标题栏,选属性,将快速编辑模式去掉,防止服务器卡住。关闭服务器时,在黑窗口按Ctrl+C也就是复制键,等一会儿后最终出现Terminate batch job (Y/N)? ,输入y回车即可。

另外,launch.bat使用记事本打开后,有一句set PATH=C:\Program Files\Java\jdk1.8.0_211\bin;%PATH%,如果启动不成功,选择1:正确配置PATH环境变量。选择2:这个C:\Program Files\Java\jdk1.8.0_211\bin是作者写死的,可以复制你安装JDK1.8根目录下bin目录的路径,替换掉这部分C:\Program Files\Java\jdk1.8.0_211\bin
三、连接服务器
在客户端文件夹083cn根目录下有一个1280x720_cn_localhost.exe,杀毒软件会报毒,必须关闭360安全卫士等软件。双击打开后,使用账号密码登录(取决于你是否开启了自动注册功能),就可以在Scania区玩耍了。有三个频道可供切换,职业有冒险家、骑士团、战神。这个客户端汉化覆盖90%,一些地方仍是英文。


有一些国服没有的特性。同时有极少BUG比如:玩家聊天中文乱码、一些任务刚接受就完成并给奖励、宠物补HP/MP问题...
通过修改数据库相关的表,可以达到一切效果,比如修改HP、MP、等级、技能点、能力点、刷装备...修改表的时机必须在登录界面登录后,但还没有双击角色(或者点击“开始游戏”)之前。
配置文件config.yaml配置项太多,有兴趣的可以研究研究。
四、总结
通过以上步骤,可以实现真正的随时开服关服,不需要授权码,无网络也能玩。
五、公网部署
STREDIT专门修改冒险岛localhost.exe,能够修改启动时连接到服务器的ip和port端口,作者原贴https://forum.ragezone.com/f921/release-stredit-localhost-editor-810762/
下载地址1:http://direct.craftnet.nl/app_updates/STREDIT.zip
下载地址2:https://pan.baidu.com/s/1a860gk_sd49VnoJU8bxC9Q 提取码:dcxu
打开服务端根目录的config.yml,将第201行的HOST后跟的127.0.0.1改为你服务端所在的ip(公网的,百度搜ip地址)(HOST:冒号后面须有一个空格)。202行的LOCALSERVER改为false。弄完后Ctrl+S保存文件。

打开STREDIT,左上角File->Open..->Open new file...->双击客户端localhost.exe->两个弹框都点否。加载完成,右下角Configured IPs这里有三个IP均为127.0.0.1,双击第一个,改为要连接的服务器ip。完成后,左上角File->Save->保存至客户端根目录(原localhost.exe所在位置)

因为好久没玩了,实际我没尝试过真正的公网部署,只是在本机测试了几次,懒得买服务器or跑Linux虚拟机了。如果你作为服务器拥有者,可以把STREDIT修改后的localhost.exe分发到其他远程电脑(玩家只要客户端)进行测试,具体的我也不知道会不会出现防火墙拦截的问题,最好保证服务端IP地址是不变的

更多教程:

