弹弹岛战纪吧 关注:5,237贴子:55,915

复活弹弹岛战纪!!!!

只看楼主收藏回复

发帖在昨天,无图好像没人...于是重新开贴
弹弹岛战纪对我来说是一个非常特殊的游戏。
从13年到关服,认识了不少人。
美好的回忆。
关服的时候不觉得什么,人少了,pvp没人了。
回头才发现,这游戏已经成了执念。
多次梦到在游戏里面和之前的那些人感受快乐,我以为结束了。
然而!!!前两天我找到了源码!!
复活ing!!!!!
目前的信息:(不喜欢可以跳过)
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
客户端是cosos2dx+java 后台java ssh框架。
版本为1.5(成长基金的版本)。
客户端信息连接包已被编译加密。好消息是ip访问请求并不在加密的.so包里。坏消息是源码之前是用svn处理的,缺少了版本控制库。不过。sh脚本(资源处理脚本),makefile文件,ant build.xml全在。
目前已成功生成apk,并且测试改连接ip可行。
apk安装包不到50m,比印象中小很多。暂不知道为什么(还是说1.5的就这么大?)。等服务器差不多了再adb测试。
服务器端一共五个,ipd分区信息发布器,世界服务器,数据分发器,账号验证器,账号验证分发器。
坦白讲,如果这几个服务器好好的说不定就玩上了。
不知道之前写代码他们怎么想的,用mysql,创建字段还敢用desc,因为是hibernate注解,服务器又过于庞大,这个就耗我整整三天。
wyd也就是之前弹弹岛的官方写了个通讯协议,包文件不缺,就是请求头全部报错。这个问题应该不是很大正在解决中。
还有就是虽然源码里面包含了系统规划层级结构,但是配置端口名太模糊了。完全靠看着吐猜与测试。好在服务器数量不多。
目前担心的主要有,一个名为buildtools.exe的文件不知道为什么打不开。关键是也不知道是干嘛的(在客户端包),只不过现在apk阔以正常打开及与服务器通讯,只能先处理服务器这块。
客户端cosos2dx和c++是玩真不会的领域,虽然目前还没碰到要动代码的问题,这玩意出问题个人真处理不了。
服务器资源方面,服务器后台是全的,能跑起来。但除此之外,gm工具,充值端口(对我没用单让他坏着又有影响,现在全是不能访问的)全部搞不懂。
而且最关键的是,好像没有服务器数据....
就是如:装备属性,攻击力,血量这些东西的数据没有。到时候估计要自己编。问题是没有gm工具。一部分没有解释的字段根本不知道做什么用的。啊啊啊啊。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
这两天搞这个有点上火话多了点。
不过我是不会放弃的。
目前只有下班和休息时间,上班摸鱼的话只能想操作不了。
吧还有人吗?有没有懂c++或者安卓的?会一点就像,java也成。
本人懂点java,勉强修复服务器问题凑合,希望来个喜欢弹弹的朋友一起来。
此贴每天操作完事更新吧,最少有个吐槽都地方,顺便把信息做个总结。
天晚了,无图。
搭服务器仅出于个人爱好。
有兴趣的加我。


IP属地:湖北来自Android客户端1楼2021-11-19 00:33回复
    图是今晚的,上面有了我就不发了。
    .
    .
    .
    初始连接测试成功。接下来就是端口的调试。
    因为端口定义模糊到账简单的事极其繁琐。举个例子。
    localip是本地ip的意思,一般是要服务器本身调用这个端口。
    分区发布器一共两个端口。一个Port,一个名为http,按照常理客户端是要连接port也就是本地端口。而http应该是转发端口...
    distributor更离谱.五个端口。
    localPort。
    distributorport。
    wordport
    httpport
    还有一个是管理员端口adminport。
    你服务器名称叫distributorServer。又整个local...
    绝活。
    吐槽,之前写代码的真不知道咋想的。
    自己写的协议。有些是用不到的。一共大大小小将近上百个,封成lib包。但问题是,这个包里面放着全部协议,你每个服务器初始化把所有协议查一遍没什么问题。还把不需要的协议一起找的,又生成了日志。一看五六十协议找不到,服务器端文件翻遍了也没有,还以为是缺文件了....然后才发现是用不着.....
    烧香拜佛,球球了后续别整个缺文件出来。补几个文件基本上等于整套重做了.....
    希望可以顺利完成。
    晚安。


    IP属地:湖北来自Android客户端2楼2021-11-19 00:34
    回复
      啊啊啊啊啊啊,真的吗又能玩了吗


      IP属地:安徽来自iPhone客户端3楼2021-11-19 09:32
      收起回复
        我工资全氪进去


        IP属地:安徽来自iPhone客户端4楼2021-11-19 09:32
        回复
          搞个群!!!我要进


          IP属地:安徽来自iPhone客户端5楼2021-11-19 09:34
          回复
            厚礼蟹,兄弟们!!!!


            IP属地:湖北来自Android客户端6楼2021-11-19 20:15
            回复
              激动万分!!!!


              IP属地:湖北来自Android客户端7楼2021-11-19 20:16
              收起回复
                什么进度了


                IP属地:安徽来自iPhone客户端8楼2021-11-19 22:27
                收起回复
                  今天差不多算是有了突破性进展吧。
                  总算把各个端口调试对接成了。所以还有几个端口多出来的不知道什么意义,好歹算是连上了。
                  第一个问题。
                  rec资源文件夹的名字是rec_IOS
                  给的信息是正式服。但问题是IOS一般代指苹果端。而且服务器带的标识是IOS。下面还有个注释的安卓。暂时没空翻客户端代码。不知道客户端带的什么标识。
                  IOS和安卓标识给了我两个完全不一样的结果。
                  IOS直接进入二级界面,然后提示网络不可用。
                  Android则给的版本过低。这神奇的现象根本没办法简单判断哪个是正确的...
                  测试用浏览器访问服务器端,返回的信息是0和服务器繁忙,不会判断是没有标识头还是真的给客户端都信息价是这样,导致了服务器拒绝访问。
                  第二个问题,服务器是放有下载文件给客户端更新用的,文件应该是有的。但路径呢?怎么判定服务器访问的文件夹名。又要地毯查代码?
                  信息还是太少了。配置文件袋一些未注释的属性是做什么的。一堆资源文件哪些是客户端需要的。
                  数据库的一些属性又是做什么的。
                  问题有点多,之前真的以为下好了就随便跑的,信息少又没有版本库真的太殇了。好在,连接成功给了我信心。
                  再接再厉吧!



                  IP属地:湖北来自Android客户端9楼2021-11-20 00:36
                  收起回复
                    希望你复活,真的太想念这个游戏了真的成了执念


                    IP属地:广东来自iPhone客户端10楼2021-11-20 01:54
                    回复
                      加油!!!!!


                      IP属地:安徽来自iPhone客户端11楼2021-11-20 08:43
                      回复
                        我最开始玩的时候好像是13年 1.3版本吧应该 那个时候还没有戒指项链 也没有基金 副本只有蘑菇女王 后面更新的有基金了 能100块玩到出花的版本 那个版本战力到1万就是大神了 更新到2.0就没有玩了 副本我只玩过123456人鱼的副本 在往后的就不知道是什么副本了 也没有玩过 哈哈哈


                        IP属地:上海来自Android客户端13楼2021-11-20 13:52
                        收起回复
                          经过一天的不懈走神(绝对没有摸鱼),整理了下目前的信息。
                          .
                          .
                          .
                          .
                          1.上面我提到过安装包打包的东西并不多,大多是图片,地图模型一个都没打包进去。
                          2.之前排查问题的时候曾在?(不记得客户端还是服务端)确实有文件检测。
                          3.弹弹岛之前进去的时候确实要额外下载文件。
                          4.word。服务器里面有个推送端口一直不知道是做什么的。
                          .
                          .
                          推测。
                          1.进入二级界面,并且所有服务器控制台及日志都未出现异常说明与服务器的链接是没有问题的,说明当时不是在链接服务器。
                          2.加上那个未知的推送端口,应该是检查文件不足然后转到推送端口,但是推送端口早就失效了所以网络链接失败。
                          ..
                          .
                          .
                          .
                          原本我以为更新的url指向就是这几个服务器,现在想想确实不对,游戏主服务器本来负载就大,再被占用大量带宽,稳定性根本没得谈。
                          .
                          .
                          解决办法。
                          按道理应该跟着程序走,写一个服务器然后专门用于更新。问题是虽然写一个只更新文件的服务器简单,却不清楚word服务器推送的时候有没有什么额外的标识,需要对接,如果有大概率还是加密的。太麻烦。

                          1.推送地址直接改word服务器。(无意义的碰运气,但是可以检测出是不是这个原因)
                          2.直接把所需文件一起封装到apk。(可操作,但解决问题的可能性不大,因为不清楚检查的文件是apk外的某个路径,还是检查文件是否可以找到)
                          3.简单写一个服务器,查看请求信息。直观检查是不是此原因。运气好的话还可以得到检查地址。
                          4.通过3或者阅读源代码得到文件路径,直接把文件复制过去让检查通过实现绕过推送url。
                          就怕文件检查文件的服务器在推送的url上面,绕不过,不过问题应该不大,删掉检查的代码就完了。
                          .
                          .
                          .
                          这步走完应该就可以进主界面了!!莫慌
                          今晚不一定继续研究,实际上我已经将近两个星期的空余时间全部投入进去了。包括两次休息日一口饭没吃该歇歇了。
                          .
                          .
                          明天休息,继续战斗。
                          我们是冠军


                          IP属地:湖北来自Android客户端14楼2021-11-20 17:49
                          收起回复
                            收藏了


                            IP属地:湖北来自Android客户端15楼2021-11-20 20:33
                            回复
                              今日份..
                              从推送端口转发url失败开始,我就知道我之前的推论是错误的。
                              服务器完全没有被访问。
                              当动用了所有的办法还一筹莫展的时候,必须承认。有点心灰意冷了。
                              要这么放弃吗?我不想。成果明明在眼前。
                              没有办法,只能从头检查客户端源码。
                              100+ cpp及h文件加上c++根本看不懂。只能靠java猜个一知半解。
                              就这么的,三个小时什么也没发现。
                              不死心,用全局批量搜索关键字。
                              结果和昨天一样,只有一个毫不相关的引用。
                              代入引用,再次搜索。(其实已经不抱希望了)
                              嗯?这是什么?wt?
                              .
                              .
                              做梦都想不到这个玩意在ui文件夹。这是一码事吗...更不明白这个文件明明有这个关键字全局搜索为什么没给结果....话说居然又是写死的。。。
                              .
                              关于程序总是这么考验耐心。
                              测试这块就简单了,改上写的测试服务器url。
                              nice,服务器给结果了。看第二张图下方。
                              我发现这个服务器基本上没有重写的可能。
                              因为,这个请求是加密过的....让人恼火的是,还是动态的...每次都不一样....
                              由于看不懂c++不懂加密方式,重写文件服务器还没开始就结束了。
                              .
                              .
                              .
                              .
                              .
                              以为这就结束了?
                              为什么要重写服务器?因为要下所需文件。那我有文件,还要下?
                              不用。
                              那么我只需要知道这个文件放的路径,然后注释掉检查文件的代码。就可以了。
                              .所以,希望大大滴!!!



                              IP属地:湖北来自Android客户端16楼2021-11-21 19:01
                              收起回复