maplestory
部署CentOS7 docker-compose
下载与安装
在 CentOS7 中部署服务端到 docker-compose,服务端源码仓库是:https://github.com/chanchaw/Cosmic 将文件 Cosmic-master.rar 拷贝到目录 /usr/games 下然后解压,最终形成的目录:/usr/games/Cosmic-master
也可以到180天翼云盘家庭共享 > 安装程序 > MapleStory 中下载,其中 “Cosmic-master.rar” 是服务端,“083cn.rar” 是客户端
配置与运行
切换路径到 /usr/games/Cosmic-master 下,修改配置文件 config.yaml ,找到配置 wlan IP 地址的地方,修改为服务器的公网IP地址,下面的 lan IP 可以不用修改 然后通过命令 docker-compose -f docker-compose.yml up -d 创建并启动 docker-compose,如果是第一次运行则会下载大量依赖后自动启动。 以后可以通过 docker ps 查看服务端和数据库的运行情况,默认 docker 中的 mysql 映射到主机的端口号是 3307,而服务端连接 docker mysql 的端口号是3306
同时该天翼云盘目录下还有文件 free-hex-editor-neo.exe 用于修改客户端登录器中硬编码指定的IP地址,使用该工具打开 exe 文件后搜索 “127.0.0.1” 然后将第一个该地址修改为服务端公网IP就可以登录了
NAT与外网
家中使用 openWrt 作为主路由,要开启 openVpn 服务端,在外网的电脑连接到家中 openVpn 后客户端连接服务端的IP地址就使用服务端 centos7 的内网IP即可 不需要使用 openVpn 的IP地址。相反的,如果家中 openWrt 中没有设置 openVpn 服务端,而是将内网中的 centos 服务器安装了 openVpn 客户端(保证和外网 电脑使用 openVpn 客户端在一个 openVpn 服务端内)客户端电脑通过连接 centos7 的 openVpn IP 登录则不成功!(可能 openVpn 服务端所在服务器也要设置防火墙放行端口, 但是没有尝试验证)
设置 openWrt 防火墙放行端口

游戏数据
数据结构
查看 wps 中标签页 “工具软件列表” 最下面,有商店、物品的代码
修改数据
# 给海盗角色moba消耗栏刷物品,后面3个字段:owner,flag,giftFrom 是必填项,下面都填充默认无效数据
insert into inventoryitems
(type,characterid,itemid,inventorytype,position,quantity,owner,flag,giftFrom)
values
(1,3,'2030000',2,7,1,'',0,''),
(1,3,'2030001',2,8,2,'',0,''),
(1,3,'2030002',2,9,3,'',0,''),
(1,3,'2030003',2,10,4,'',0,''),
(1,3,'2030004',2,11,5,'',0,''),
(1,3,'2030005',2,12,6,'',0,''),
(1,3,'2030006',2,13,7,'',0,''),
(1,3,'2030007',2,14,8,'',0,'')
;
# 向废弃都市药水商店加入物品
# 4000244 - 海盗二转任务道具 - 强大力量的结晶
insert into shopitems (shopid,itemid,price,position)
values
('1051002','4000244',10,212);
# 扩展角色多个属性
# str - 力量,dex - 敏捷,equipslots - 装备栏格子数量,useslots - 消耗栏数量,setupslots - 装饰栏数量,etcslots - 其他栏数量
update characters set str=1760,dex=660,equipslots=96,useslots=96,setupslots=96,etcslots=96 where id = 3;
逆向
查找内存地址
下面是通过上下装备查找防御力的内存地址的方法
wz 文件读取
开源仓库:https://github.com/lastbattle/Harepacker-resurrected
