一、获得服务器端、客户端软件:
向天云阁工作室购买相关棋牌游戏后,可以获得如下程序:
1、服务器端EXE程序。
2、服务器端DLL程序源程序(该部分需要自己用VC6编译一下,当然如果改动的不是太多,首次也可以由天云阁工作室代劳)。
3、默认的数据库建表SQL命令(只供采用和演示站一样的MySQL数据库用户直接使用,其他数据库用户仅供参考,具体数据库的操作在DLL中定义)
4、相关的网页及脚本。
二、创建数据库、表:
1、程序可以使用所有ODBC支持的支持SQL的数据库,如:Access、MySQL、SQL Server等。如果你精通它们可以任意选择,如果不太精通,建议采用默认的MySQL数据库。
2、如果你是采用MySQL数据库,可以直接运行所提供的SQL命令创建相关的游戏数据表。如果不是,则根据SQL命令自己创建数据表。
/*创建游戏信息表(game_info)的SQL语句*/
CREATE TABLE `game_info` (
`nNode` int(11) default '0',
`nItem` int(11) NOT NULL default '0',
`sName` varchar(255) NOT NULL default '',
`nParamType` int(11) default '0',
`sParam` varchar(255) NOT NULL default '',
`nIcon` int(11) default '0',
`nOnline` int(11) default '0',
PRIMARY KEY (`nItem`),
KEY `nNode` (`nNode`)
) TYPE=MyISAM; |
其中:
nNode 为父节点号。
nItem 为当前节点号。
sName 为游戏或分类名。
nParamType 为参数类型。
sParam 为运行参数。
nIcon 为当前项目使用的图标号
nOnline 为当前项目的在线人数(父项目将从子项目中汇总)。
/*创建游戏数据表的SQL语句,表名根据具体游戏的DLL程序修改一下*/
CREATE TABLE `具体表名` (
`uin` int(11) unsigned NOT NULL default '0',
`nLevel` int(11) default '0',
`nResult` int(11) default '0',
`nWin` int(11) default '0',
`nLoss` int(11) default '0',
`nPeace` int(11) default '0',
`nCount` int(11) default '0',
`nFlee` int(11) default '0',
`nWins` int(11) default '0',
`nMoney` int(11) default '0',
`nBreak` int(11) default '0',
`tag` int(11) default '0',
`nLoginTime` int(11) default '0',
PRIMARY KEY (`uin`)
) TYPE=MyISAM; |
说明:
uin 玩家的ID号
nLevel 玩家的等级
nResult 玩家的积分
nWin 玩家赢局数量
nLoss 玩家输局数量
nPeace 玩家和局数量
nCount 玩家的总局数
nFlee 玩家逃跑次数
nWins 玩家的胜率
nMoney 玩家在本游戏中的银两数量
nBreak 玩家断线次数。
tag 在线标志(玩家在线的情况下,千万不要修改数据)
nLoginTime 玩家上线时间
三、编译DLL:
1、用VC6打开所提供的DLL源程序,根据自己的情况修改程序。一般情况不需要修改,只要直接编译生成DLL文件即可。
2、如果你不是采用 MySQL 数据库系统或不采用 MySQL 数据库系统中的默认密码加密方式,打开 db.cpp 中的 OnUserLogin() 函数,修改:
| strCmd.Format( "select * from %s where %s=%lu and %s=password('%s')", DB_TB_AUTH, DB_FD_ID, nUin, DB_FD_PWD, lpszPasswd ); |
为
| strCmd.Format( "select * from %s where %s=%lu and %s='%s', DB_TB_AUTH, DB_FD_ID, nUin, DB_FD_PWD, lpszPasswd ); |
不过这样你还需要自己处理防止 lpszPasswd 的值为“abc' or uin=10000 or sName='天云上人”这样的东西。
注:password() 为 MySQL SQL命令的关键字,实现对指定字符串进行加密。
3、修改完成后,按“!”号按钮编译生成DLL(注意要选择“Win32 Release”方式)。
4、有关编译DLL的方式可以参考:http://www.ityg.com/tlxl/build.htm。
四、设置 INI 文件:
1、设置大厅INI文件。
2、设置游戏 INI 文件:
五、运行程序:
完成上面操作后,双击相关的游戏服务程序即可。
如果想要在服务器启动用后自动运行游戏服务,可以在“任务计划”中进行设置。 |