\[Solved\] GA Linux 2013.5.11 mysql数据库连接失败



  • _本帖最后由 h113331pp 于 2013-5-27 20:32 编辑 _

    感谢回覆,我试了一下,还是一样的错。

    [核心]连接数据库...[核心]尝试以以下设置连接目标数据库...
    mysql://root:[email protected]/rogue db.c:516 [错误]数据库连接失败
    [核心]等待所有线程结束... 成功
    starting endconnect

    我的系统是ubuntu 10.04,因为他找不到libssl.so.6跟libcrypto.so.6。
    所以我把我系统的/usr/lib/libcrypto.so.0.9.8还有libcrypto.so.0.9.8给link过去。
    我担心是因为library版本的关係所以连不上,不过没有原始码我也不能除错。



  • _本帖最后由 h113331pp 于 2013-5-28 09:52 编辑 _

    ubuntu的mysql预设root无法从localhost以外的方式连线
    我新增了mysql的帐号wally。
    把密码取消,并给wally所有的权限
    是可以连线了,但是遇到了新的问题:

    [核心]服务端开始初始化...
    [核心]内存申请中...完毕
    [核心]尝试绑定端口 9030... 完成
    [核心]设置函数表...完成
    [核心]连接数据库...[核心]尝试以以下设置连接目标数据库...
    mysql://wally: @127.0.0.1/rogue ...连接成功
    [核心]数据库表选择中... 选择成功
    [核心]尝试以以下设置连接目标数据库...
    mysql://wally: @127.0.0.1/rogue ...连接成功
    [核心]数据库表选择中... 选择成功
    [核心]尝试以以下设置连接目标数据库...
    mysql://wally: @127.0.0.1/rogue ...连接成功
    [核心]数据库表选择中... 选择成功
    [核心]初始化账号登陆线程...完成
    [核心]初始化物件组...完成
    [核心]初始化对象组...完成
    [核心]初始化道具相关数据...item/item.c:1604 file open error
    [核心]等待所有线程结束... 成功

    我执行 find ./ | grep item,但输出是空的,所以目录下没有任何带有item字眼的档案。
    这个错误是因为gmsv试图开启一个不存在的档案吗?
    我想开不起来的档案名子也不是叫item,那只是当初在编译gmsv的原始码吧?



  • 道具,原名应该是itemset这个文件



  • 谢谢回覆,我参照这个2008年的网页:
    http://bbs.mocwww.com:86/redirect.php?fid=59&tid=5793&goto=nextnewset

    裡面说在data资料夹下,应该有itemset.txt这个档案。
    但我的data资料夹下面只有:
    bigdick@bigdick-desktop:~/ga$ ls ./data/
    headcover.txt loginpoint.txt

    我刚刚把windows端的也解开来看,也没有找到itemset.txt。



  • 服务端本身就有道具itemset文档的,没有你怎么启动



  • 楼上的意思不是很懂,意思是itemset.txt本来就在Free所置顶的 [Win已发布]GMSV Avaritia 服务端 2013.5.11 [Linux & Windows] 文章裡面的服务端压缩挡吗?

    我在别的网站找到旧的GMSV(2007年版本),裡面的data资料夹就有很多文件,包括itemset.txt。开起来就没有问题。
    Free所提供的GA似乎吃的itemset.txt格式有变,我把旧的GMSV的itemset.txt放进去,GA会报格式错误,不吃。



  • 这个文档不是free兄的ga里面带的,是服务端自身就必须有,格式错误是你自己文档的问题,你要看终端怎么报错,一个一个修改。item/item.c:1604 file open error比如你这个,可以查找1604行。



  • 感谢回覆,这样我知道我少什麽了,应该说我整个服务端都少,仅启动GA看起来是不够的。

    item/item.c:1604 file open error,代表这个c源代码item.c第1604行发生档案开启错误。因为档案根本不存在。
    另外想问一下,所以我该查找源代码1604行,问题是这裡好像都只提供binary不提供源代码,可以请教一下大家都怎麽查找呢?



  • ok,网路上有人放一些早期魔力私服的设定档,我抓下来。把data跟store资料夹丢进去。

    然后在执行./gmsv,就可以了。

    总结一下ubuntu 10.04要跑这个GA要做的2个工作:

    1.libssl.so.6跟libcrypto.so.6记得去link /usb/lib/下的libssl.so跟libcrypto.so,ubuntu 10.04 的版本是0.9.8

    2.设定mysql,ga连mysql的帐号不能用root(这应该是ubuntu自己的限制),记得mysql要建好空资料库名子叫rouge,再把db.sql、sqlupdate/preview3_fix2_tbl_globalregvalue.sql、sqlupdate/preview3_fix6_tbl_guildItemBox.sql汇入进rouge

    下了班在找时间把完整的流程贴上来。顺便找个地方传一下包好的套件。

    如果有找到源代码(不一定是GA,但open source大家都好改),我再顺便传给版友们。与人方便,自己方便。 :)



  • 我連連都連部上..開都開不了 ..問題都不知再哪 ..



  • 我把我连接的步骤写在这裡,顺便附上懒人包。
    连接步骤在懒人包裡面也有,档名是README.txt。
    但忘了转简体,版友们打开后得转一下才看得懂。

    另外虽然还没有找到魔力的GMSV的源代码,但是找到了石器的,或许结构上也有些参考价值:https://github.com/h113331pp/gmsv

    懒人包载点:https://mega.co.nz/#!ElUTRZqC!cu ... dx5_MIMsrYEQrREluQc

    一个可以正常执行的服务端资料夹结构:
    ./gmsv_avaritia
    |-- data
    | |-- map
    | |-- material_map
    | `-- npc
    |-- log
    |-- lua
    | |-- Module
    | `-- System
    | |-- AllEvent
    | |-- BaseModule
    | `-- OtherModule
    |-- sqlupdate
    `-- store
    |-- dungeon
    |-- house
    `-- itemcount

    基本上你会缺两个资料夹:
    1.data资料夹,虽然解开置顶的GA(GMSV Avaritia)就有,但裡面只内附两个文件:
    headcover.txt
    loginpoint.txt
    这两个应该是GA(GMSV Avaritia)才特别需要的东西。我运行别的版本的GMSV是不需要这两个文件的。
    2.store资料夹,解开置顶的GA(GMSV Avaritia)裡面没有。

    所以你把懒人包下载下来,裡面有三个资料夹:
    1.gmsv_avaritia 2.home 3.天下魔力data
    所有操作都是在linux下完成,如果你"不熟"linux,去抓windows的服务端,自己惦量着办。
    首先安装ruby跟mysql,如果你不会,就不要再往下看了。
    ubuntu 10.04下是执行sudo apt-get install mysql-server ruby1.8。
    其他distro自己找对应的方法安装。
    另外我假设你已经把魔力懒人包放好在家目录底下了。

    1.打开终端机(terminal),ubuntu预设开启的是gnome-terminal。点选终端机->设定字元编码,看一下自己目前的编码
    是否是简体中文(GBK),一般都是在万国码(UTF-8),用UTF-8的话GA(GMSV Avaritia)的输出都会变成乱码。
    点选终端机->设定字元编码->加入或除移,把简体中文(GBK)加进去,再选择编码为简体中文(GBK)。

    2.把"天下魔力data"资料夹改名为"data",要不然你等下复製档案会很麻烦。

    3.把data跟store复製到gmsv_avaritia中:
    执行 cp -a ./data/* ./gmsv_avaritia/data/
    执行 cp -a ./home/crossgate/gmsv/store ./gmsv_avaritia

    4.建立libssl.so.6跟libcrypto.so.6软连接,这两个library在ubuntu底下可以用/usr/lib/libssl.so.0.9.8
    以及/usr/lib/libcrypto.so.0.9.8,但是程式就只会找*.so.6的档案。
    执行 cd ./gmsv_avaritia 执行 ln -s /usr/lib/libssl.so.0.9.8 libssl.so.6
    执行 ln -s /usr/lib/libcrypto.so.0.9.8 libcrypto.so.6
    执行 chmod a+x ./gmsv 执行 export LD_LIBRARY_PATH="./"
    5.第一次执行看看吧,不过我们连mysql都还没设定,执行后也一定退出:
    执行./gmsv,输出如下:
    /********************************************************************************/
    ____ __ __ ____ __ __ _ _ _ _
    / ___|| \/ |/ ___|\ \ / / / \ __ __ __ _ _ __ (_)| |_ (_) __ _
    | | _ | |\/| |\___ \ \ \ / / / _ \\ \ / // _` || '__|| || __|| | / _` |
    | |_| || | | | ___) | \ V / / ___ \\ V /| (_| || | | || |_ | || (_| |
    \____||_| |_||____/ \_/ /_/ \_\\_/ \__,_||_| |_| \__||_| \__,_|


    本程序于 May 11 2013 11:11:20 编译完成
    编译环境 gcc 4.1.2 20080704 (Red Hat 4.1.2-52)
    Code Avaritia | Git Rep :g5ab2712
    By Blue & Free
    讨论论坛:http://cgdev.me/


    [核心]读取全局配置文件: setup.cf
    configfile.c:578 文件 setup.cf.bigdick-desktop 不存在, 使用 setup.cf 文件替代。
    [核心]开启日志记录
    log.c:82 Can't open ./log/log.cf
    [核心]等待所有线程结束... 成功
    starting endconnect
    /********************************************************************************/
    看起来没有log/log.cf,所以执行到一半就退出,我们先替他建立一个:
    执行 mkdir log
    执行 touch ./log/log.cf
    执行 chmod 777 ./log/log.cf

    6.在执行一次:
    执行./gmsv,输出如下:
    /********************************************************************************/
    ____ __ __ ____ __ __ _ _ _ _
    / ___|| \/ |/ ___|\ \ / / / \ __ __ __ _ _ __ (_)| |_ (_) __ _
    | | _ | |\/| |\___ \ \ \ / / / _ \\ \ / // _` || '__|| || __|| | / _` |
    | |_| || | | | ___) | \ V / / ___ \\ V /| (_| || | | || |_ | || (_| |
    \____||_| |_||____/ \_/ /_/ \_\\_/ \__,_||_| |_| \__||_| \__,_|


    本程序于 May 11 2013 11:11:20 编译完成
    编译环境 gcc 4.1.2 20080704 (Red Hat 4.1.2-52)
    Code Avaritia | Git Rep :g5ab2712
    By Blue & Free
    讨论论坛:http://cgdev.me/


    [核心]读取全局配置文件: setup.cf
    configfile.c:578 文件 setup.cf.bigdick-desktop 不存在, 使用 setup.cf 文件替代。
    [核心]开启日志记录
    log.c:147 log file open error(TALK: log).
    log.c:147 log file open error(ITEM: log).
    log.c:147 log file open error(PET: log).
    log.c:147 log file open error(LOGIN: log).
    log.c:147 log file open error(BREAK: log).
    log.c:147 log file open error(BATTLE: log).
    log.c:147 log file open error(GOLD: log).
    log.c:147 log file open error(PETMAIL: log).
    log.c:147 log file open error(GUILD: log).
    log.c:147 log file open error(GUILDMONSTER: log).
    log.c:147 log file open error(SKILL: log).
    [核心]服务端开始初始化...
    [核心]内存申请中...完毕
    [核心]尝试绑定端口 9030... 完成
    [核心]设置函数表...完成
    [核心]连接数据库...[核心]尝试以以下设置连接目标数据库...
    mysql://root:[email protected]/rogue db.c:516 [错误]数据库连接失败
    [核心]等待所有线程结束... 成功
    starting endconnect
    /********************************************************************************/
    好,现在只剩下资料库要调整了,你大概会把99%的时间都投入在这边。
    我们建立mysql使用者wally,建立资料库rogue,最后再把资料表db.sql、
    sqlupdate/preview3_fix2_tbl_globalregvalue.sql、
    sqlupdate/preview3_fix6_tbl_guildItemBox.sq汇入rouge资料库。

    执行mysql -u root -p
    进去后,建立使用者wally,建立资料库rogue:
    mysql> GRANT ALL ON *.* TO wally@'%';
    mysql> create database rogue;
    mysql> exit
    登出后,再把资料表汇入:
    执行 mysql -u wally rogue < ./db.sql
    执行 mysql -u wally rogue < ./sqlupdate/preview3_fix2_tbl_globalregvalue.sql
    执行 mysql -u wally rogue < ./sqlupdate/preview3_fix6_tbl_guildItemBox.sql

    最后修改setup.cf,把资料库的ip,跟使用者帐号还有密码换掉,
    执行gedit ./setup.cf
    修改 "dbusername=wally"
    修改 "dbpassword=" 修改 "dbservname=127.0.0.1"
    7.最后执行一次确认:
    执行./gmsv,输出如下:
    /********************************************************************************/
    ____ __ __ ____ __ __ _ _ _ _
    / ___|| \/ |/ ___|\ \ / / / \ __ __ __ _ _ __ (_)| |_ (_) __ _
    | | _ | |\/| |\___ \ \ \ / / / _ \\ \ / // _` || '__|| || __|| | / _` |
    | |_| || | | | ___) | \ V / / ___ \\ V /| (_| || | | || |_ | || (_| |
    \____||_| |_||____/ \_/ /_/ \_\\_/ \__,_||_| |_| \__||_| \__,_|


    本程序于 May 11 2013 11:11:20 编译完成
    编译环境 gcc 4.1.2 20080704 (Red Hat 4.1.2-52)
    Code Avaritia | Git Rep :g5ab2712
    By Blue & Free
    讨论论坛:http://cgdev.me/


    [核心]读取全局配置文件: setup.cf
    configfile.c:578 文件 setup.cf.bigdick-desktop 不存在, 使用 setup.cf 文件替代。
    [核心]开启日志记录
    log.c:147 log file open error(TALK: log).
    完成
    [核心]初始化地图特效数据...[核心]成功读取到 133 条地图特效数据.
    .........省字数
    [核心]初始化地图数据...
    [核心]成功读取到 136 条随机地图数据.
    [核心]初始化普通地图数据...[核心]共存在文件2088个 / 有效地图文件2079个

    ... gmsv不会停,唯一关他的方法就只有ctrl+c中断。
    /********************************************************************************/



  • 回复 h113331pp 的帖子

    https ://mega.co.nz/#!ElUTRZqC!cu98XH9Ul1HXtMeJRgNldRtidx5_MIMsrYEQrREluQc 已经失效,能否传一份到百度网盘或者dropbox上分享呢?



  • yizhi bu chenggong ....



  • 我一直不成功**很是郁闷***********



  • 用最新版gmsv卡在了内存申请中/...


登录后回复