找回密码
 注册
搜索
查看: 8342|回复: 1

棋牌游戏安装步骤(适合于棋牌系列二)

[复制链接]
发表于 2004-7-20 17:40:26 | 显示全部楼层 |阅读模式
一、获得服务器端、客户端软件:
向天云阁工作室购买相关棋牌游戏后,可以获得如下程序:
1、服务器端EXE程序。
2、服务器端DLL程序源程序(该部分需要自己用VC6编译一下,当然如果改动的不是太多,首次也可以由天云阁工作室代劳)。
3、默认的数据库建表SQL命令(只供采用和演示站一样的MySQL数据库用户直接使用,其他数据库用户仅供参考,具体数据库的操作在DLL中定义)
4、相关的网页及脚本。

二、创建数据库、表:
1、程序支持所有ODBC支持的支持SQL的数据库,如:Access、MySQL、SQL Server等。如果你精通它们可以任意选择,如果不太精通,建议采用默认的MySQL数据库。
2、如果你是采用MySQL数据库,可以直接运行所提供的SQL命令创建相关的游戏数据表。如果不是,则根据SQL命令自己创建数据表。

三、编译DLL:
1、用VC6打开所提供的DLL源程序,根据自己的情况修改程序。一般情况不需要修改,只要直接编译生成DLL文件即可。
2、如果你不是采用 MySQL或不采用MySQL中的默认密码加密方式,打开 db.cpp 中的 OnUserLogin() 函数,修改:

  1. strCmd.Format( "select * from %s where %s=%lu and %s=password('%s')", DB_TB_AUTH, DB_FD_ID, nUin, DB_FD_PWD, lpszPasswd );
复制代码


  1. 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文件。
在大厅服务器 EXE 文件目录下建立一个 game.ini 文件,内容如下:
  1. [Server]
  2. SN = 序列号
  3. RegInfo = 注册信息
  4. RegCode = 注册码
  5. SiteName = 天云阁游戏世界测试站
  6. HomePage = http://192.168.1.3
  7. DLLFile = E:\game2.0\room\DLL\Release\dll.dll
  8. Port = 5000

  9. [Database]
  10. DBS = dsn=game
复制代码

其中:
SN 设置序列号。
SiteName 设置网站名称,也是在客户端窗口上面显示的文字。
HomePage 为主页网址,并在其下 download 目录里放每个游戏的客户端程序。
DllFile 设置大厅程序所要调用的DLL文件名。
Port 设置大厅使用的端口,标准版一定是5000,宇宙版可以自由设置。
DBS 设置数据库的连接定义,如上例采用“DSN=game”。

2、设置游戏 INI 文件:
游戏的INI文件必须与EXE文件同名,如五子棋服务器端叫:game_wzq.exe,则
INI 文件为:game_wzq.ini。游戏INI的内容如下:

  1. ;XXX游戏服务器的配置
  2. [Server]
  3. RegCode = 注册码
  4. SiteName = 天云阁游戏世界演示站
  5. HomePage = http://www.ityg.com/buy.php
  6. DLLFile = E:\game2.0\wzq\DLL\Release\dll.dll
  7. Port = 5045
  8. Item = 20101

  9. [Database]
  10. DBS = dsn=game
复制代码

其中:
SiteName 设置客户端窗口显示的文字
HomePage 暂时没有作用。
DllFile 设置服务器端调用的DLL文件
Port 设置服务器端采用的TCP端口,可以任何定义,只要不与其他服务端口冲突。
Item 设置该游戏服务在游戏大厅里的项目位置。
DBS 设置数据库连接定义。

五、运行程序:
完成上面操作后,双击相关的游戏服务程序即可。
如果想要在服务器启动用后自动运行游戏服务,可以在“任务计划”中进行设置。
 楼主| 发表于 2004-7-20 17:55:05 | 显示全部楼层
一、游戏信息表:
用于大厅中定义每种游戏分类、顺序、图标、在线人数等。MySQL数据库的建表SQL如下:
  1. CREATE TABLE `game_info` (
  2.   `nNode` int(11) default '0',
  3.   `nItem` int(11) NOT NULL default '0',
  4.   `sName` varchar(255) NOT NULL default '',
  5.   `nParamType` int(11) default '0',
  6.   `sParam` varchar(255) NOT NULL default '',
  7.   `nIcon` int(11) default '0',
  8.   `nOnline` int(11) default '0',
  9.   PRIMARY KEY  (`nItem`),
  10.   KEY `nNode` (`nNode`)
  11. ) TYPE=MyISAM;
复制代码
其中:
nNode 为父节点号。
nItem 为当前节点号。
sName 为游戏或分类名。
nParamType 为参数类型。
sParam 为运行参数。
nIcon 为当前项目使用的图标号
nOnline 为当前项目的在线人数(父项目将从子项目中汇总)。

以下是部分设置数据的SQL命令,可以用它插入到你的信息表中以供参考。
  1. INSERT INTO `game_info` VALUES (0,1,'游戏聊天',0,'',1,0);
  2. INSERT INTO `game_info` VALUES (0,2,'棋类游戏',0,'',1,0);
  3. INSERT INTO `game_info` VALUES (0,3,'牌类游戏',0,'',1,0);
  4. INSERT INTO `game_info` VALUES (0,4,'博彩游戏',0,'',1,0);
  5. INSERT INTO `game_info` VALUES (1,101,'图形江湖',1,'f:/release/pChat/pChat.exe',3,0);
  6. INSERT INTO `game_info` VALUES (1,102,'文字江湖',1,'',4,0);
  7. INSERT INTO `game_info` VALUES (2,201,'五子棋',1,'wzq.exe,1662f58fa32c8f247d96f3a2037af9f9',5,0);
  8. INSERT INTO `game_info` VALUES (2,202,'中国象棋',1,'cchess.exe',6,0);
  9. INSERT INTO `game_info` VALUES (2,203,'四国军棋',1,'junqi.exe',7,0);
  10. INSERT INTO `game_info` VALUES (3,301,'福州麻将',1,'mjfz.exe',8,0);
  11. INSERT INTO `game_info` VALUES (3,302,'斗地主',1,'lord.exe',9,0);
  12. INSERT INTO `game_info` VALUES (3,303,'跑得快(争上游)',1,'run.exe',11,0);
  13. INSERT INTO `game_info` VALUES (3,304,'红十',1,'red10.exe',10,0);
  14. INSERT INTO `game_info` VALUES (4,401,'梭哈',1,'showhand.exe',12,200);
  15. INSERT INTO `game_info` VALUES (101,10101,'天云阁演示站',3,'www.ityg.com',2,0);
  16. INSERT INTO `game_info` VALUES (102,10201,'天云阁演示站',3,'http://www.jhdao.com',2,0);
  17. INSERT INTO `game_info` VALUES (401,40101,'天云阁演示站',2,'www.ityg.com',2,100);
  18. INSERT INTO `game_info` VALUES (401,40102,'天云阁测试站',2,'192.168.1.2',2,100);
  19. INSERT INTO `game_info` VALUES (201,20101,'天云阁测试站',2,'192.168.1.2:5045',2,0);
复制代码
二、游戏数据表:
用于记录玩家的游戏数据,它的SQL如下:
  1. CREATE TABLE `具体表名` (
  2.   `uin` int(11) unsigned NOT NULL default '0',
  3.   `nLevel` int(11) default '0',
  4.   `nResult` int(11) default '0',
  5.   `nWin` int(11) default '0',
  6.   `nLoss` int(11) default '0',
  7.   `nPeace` int(11) default '0',
  8.   `nCount` int(11) default '0',
  9.   `nFlee` int(11) default '0',
  10.   `nWins` int(11) default '0',
  11.   `nMoney` int(11) default '0',
  12.   `nBreak` int(11) default '0',
  13.   `tag` int(11) default '0',
  14.   `nLoginTime` int(11) default '0',
  15.   PRIMARY KEY  (`uin`)
  16. ) TYPE=MyISAM;
复制代码
说明:
具体表名要与你游戏DLL中定义的表名一致。默认情况下五子棋为:game_wzq、梭哈为:game_showhand,……
uin 玩家的ID号
nLevel 玩家的等级
nResult 玩家的积分
nWin 玩家赢局数量
nLoss 玩家输局数量
nPeace 玩家和局数量
nCount 玩家的总局数
nFlee 玩家逃跑次数
nWins 玩家的胜率
nMoney 玩家在本游戏中的银两数量
nBreak 玩家断线次数。
tag 在线标志(玩家在线的情况下,千万不要修改数据)
nLoginTime 玩家上线时间
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|宁德市腾云网络科技有限公司 ( 闽ICP备2022007940号-5|闽公网安备 35092202000206号 )

GMT+8, 2025-6-19 06:33 , Processed in 0.014883 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表