数据库说明文档
用户数据库:GameUserDB
数据库内容:
存储用户相关的全局信息,包括用户的 ID 号码,帐号名字,密码,二级密码,头像,经验数值,登录次数,注册地址,最后登录地址等用户属性信息。
数据库表结构:
表AccountsInfo(用户信息)
由以下字段组成:
●UserID:用户的唯一标识号码,注册的时候自动生成,用于其他表的关联字段,不能
修改
●GameID:游戏ID,注册的时候自动生成,用于其他表的关联字段,不能修改
●ProtectID:密保标识,用户安全保护相关(保留扩展用字段)由具体运营商确定如
何使用
●SpreaderID:推广员标识,若推广员标识有效则表明当前玩家用户是这个推广员用户
的下线。该字段与UserID关联。推广员的使用由具体运营商确定
●Accounts:帐号名字,具有唯一性,不能重复,能修改
●RegAccounts:用户注册的原始名字,默认与帐号名字相同,方便运营商跟踪管理帐
号名字改变过的用户
●LogonPass:用户帐号的密码,采用通用加密算法 MD5 加密记录
●InsurePass:用户帐号的二级密码,采用通用加密算法 MD5 加密记录,供网站系统
用于例如银行管理,密码保护管理等重要部分
●Gender:用户性别,现在系统默认为 0,(保留扩展用字段)
●Nullity:帐号禁用标志,影响用户登录广场和登录游戏房间
●UserRight:用户权限标志,参数意义需要参考所使用系统的权限参数对照表,请参
考文档最后的“权限参数对照表”
●MasterRight:管理员权限标志,参数意义请参考所使用系统的权限参数对照表,请
参考文档最后的“权限参数对照表”
●ServiceRight:服务权限标志,一般网站上用权限由具体运营商确定
●FaceID:用户头像索引号码
●MemberOrder:会员等级标识,默认为 0,具体数字由具体运营商确定
●MasterOrder:管理等级标识,默认为 0,具体数字由具体运营商确定
●StunDown:帐号安全关闭标识,用户安全保护相关(保留扩展用字段)由具体运营商
确定如何使用
●Experience:用户经验数值,表示用户游戏的总局数,可以通过修改每个游戏的经验
数值增加方案得到策略的改变
●MemberOverDate:会员到期日期,若登录时间比会员到期时间晚,系统将会修改会员
等级数值字段,还原为 0 等级
●MoorMachine:固定机器,用户安全保护相关,运营商可以在网站上提供该项服务,
该项服务启用后,根据“MachineSerial(机器码序列)”限制用户登录行为
●MachineSerial:机器序列码,该项为用户登录客户端所使用机器的唯一标识码,由
游戏客户端获取
●WebLogonTimes:网站登录次数,累计用户从网站的登录入口登录的次数。(保留扩展
用字段)由具体运营商确定如何使用
●GameLogonTimes:游戏登录次数,累计用户从游戏客户端大厅登录的次数
●RegisterDate:用户帐号的注册日期
●LastLogonDate:用户最后登录的日期
●RegisterIP:用户帐号的注册所在的 IP 地址
●LastLogonIP:用户最后使用此帐号登录的 IP 地址
表IndividualDatum(用户详细资料)
保留扩展用表,供网站使用。由以下字段组成:
●UserID:用户的唯一标识号码,注册的时候自动生成,用于其他表的关联字段不能修
改
●Compellation:真实姓名
●QQ:QQ号码
●Email:电子邮箱
●SeatPhone:固定电话
●MobilePhone:手机号码
●DwellingPlace:详细住址
●PostalCode:邮政编码
●CollectDate:收集日期
●UserNote:用户备注
表ReserveIdentifier(游戏标识保留)
由以下字段组成:
●GameID:游戏ID,注册的时候自动生成,用于其他表的关联字段,不能修改
●IDLevel:保留标识等级,默认为 0,具体数字由具体运营商确定
●Distribute:分配标志(是否已分配)
a)表GameIdentifier(游戏标识分配)由以下字段组成:
●UserID:用户的唯一标识号码
●GameID:游戏ID
●IDLevel:保留标识等级,默认为 0,具体数字由具体运营商确定
表ConfineMachine(机器码限制)
该表的每条记录限制可以具体到一台物理机器。用以控制用户的登录、注册行为。由以下字段
组成:
●MachineSerial:机器序列码,作为外键与用户数据库的机器序列码字段关联
●EnjoinLogon:限制用户登录游戏标示
●EnjoinRegister:限制注册标示,仅对与该机器序列码匹配的用户机器起作用
●EnjoinOverDate:过期时间
●CollectDate:记录日期
●CollectNote:记录备注
表ConfineAddress(IP地址限制)
该表的每条记录限制可以具体到一个IP地址。用以控制用户的登录、注册行为。由以下字段组
成:
●AddrString:IP地址字符,作为外键与用户数据库的LastLogonIP(上次登录IP)字
段关联
●EnjoinLogon:限制登录标示
●EnjoinRegister:限制注册标示,仅对与该IP地址匹配的用户机器起作用
●EnjoinOverDate:过期时间
●CollectDate:记录日期
●CollectNote:记录备注
表ConfineContent(注册帐号名称限制)
由以下字段组成:
●String:保留字符
●CollectDate:记录日期
表SystemStreamInfo(每日登录、注册人数)
每条记录标识该“记录日期”当天的登录、注册人次。由以下字段组成:
●DateID:日期标识
●WebLogonSuccess:网站登录成功数量
●WebRegisterSuccess:网站注册成功数量
●GameLogonSuccess:游戏登录成功数量
●GameRegisterSuccess:游戏注册成功数量
●CollectDate:记录日期
存储过程描述:
a)GSP_GP_EfficacyAccounts:用户通过帐号方式登录游戏广场的服务器所调用的存储过程
b)GSP_GP_EfficacyGameID:用户通过 ID 方式登录游戏广场的服务器所调用的存储过程
c)GSP_GP_RegisterAccounts:用户通过游戏大厅客户端注册帐号服务器所调用的存储过程平台信息数据库:ServerInfoDB
数据库内容:
存储游戏列表的相关信息,包括控制游戏列表的显示方式,游戏的增加与减少控制,游戏类型分级控制,以及数据库的连接配置信息
数据库表结构:
表GameTypeItem (游戏分类列表)
由以下字段组成:
●TypeID:游戏类型所挂接的游戏类型标识号码,需要保证所对于的类型的标识号码存
在,并所对应的类型行是启用状态,否则游戏大厅的游戏列表不会显示此游戏类型以
及挂接在此游戏类型下的所有房间
●TypeName:类型名字,例如对战类,休闲类
●SortID:列表排列 ID 号码,用于控制游戏大厅得到的列表的排列方式
●JoinID:指定此分级所挂接的分级的标识号码,用于控制多层分级使用,默认为 0 数
值(详细请看挂接说明)
●Nullity:是否显示控制字段,默认为 1,禁止显示为 0 数值
表GameKindItem(游戏种类列表)
由以下字段组成:
●KindID:游戏类型的标识号码,应该与游戏的开发所分配的标识号码所一致。也可以
不一致,通过配置游戏房间的时候配置房间的挂接项,达到同一个游戏服务器挂接到
不同的游戏类型上面,实现金币类,比赛类,积分类等扩展显示方式。
●TypeID:游戏类型所挂接的游戏类型标识号码,需要保证所对于的类型的标识号码存
在,并所对应的类型行是启用状态,否则游戏大厅的游戏列表不会显示此游戏类型以
及挂接在此游戏类型下的所有房间
●JoinID:指定此分级所挂接的分级的标识号码,用于控制多层分级使用,默认为 0 数
值(详细请看挂接说明)
●KindName:游戏类型名字,例如梭哈游戏,斗地主游戏等
●ProcessName:游戏进程名字,用于控制客户端启动的游戏进程的名字
●MaxVersion:游戏进程的最新版本号码,用于控制游戏的自动更新
●SortID:列表排列 ID 号码,用于控制游戏大厅得到的列表的排列方式
●Nullity:是否显示控制字段,默认为 1,禁止显示为 0 数值
●DatabaseName:此游戏类型所使用的数据库名字,供其他应用使用,游戏系统不使用
此字段,保留字段
表GameNodeItem (房间类型列表)
由以下字段组成:
●NodeID:房间类型标识
●KindID:游戏类型的标识号码,应该与游戏的开发所分配的标识号码所一致。也可以
不一致,通过配置游戏房间的时候配置房间的挂接项,达到同一个游戏服务器挂接到
不同的游戏类型上面,实现金币类,比赛类,积分类等扩展显示方式。
●JoinID:指定此分级所挂接的分级的标识号码,用于控制多层分级使用,默认为 0 数
值
●NodeName:房间类型名字,例如视频斗地主、财富斗地主等
●SortID:列表排列 ID 号码,用于控制游戏大厅得到的列表的排列方式
●Nullity:是否显示控制字段,默认为 1,禁止显示为 0 数值
表DataBaseInfo (数据库地址信息)
由以下字段组成:
●DBPort:数据库端口号码信息
●DBAddr:数据库连接地址信息
●DBUser:数据库登录名字,采用网狐自主创建的可逆加密算法加密保存
●DBPassword:数据库登录密码,采用网狐自主创建的可逆加密算法加密保存
●Information:备注信息
存储过程描述:
a)GSP_LoadGameTypeItem:读取列表种类存储过程,由中心服务器启动的时候调用
b)GSP_LoadGameKindItem:读取游戏类型存储过程,由中心服务器启动的时候调用
c)GSP_LoadGameNodeItem:读取游戏房间类型存储过程,由中心服务器启动的时候调用
d)GSP_LoadDataBaseInfo:用于读取数据库连接信息存储过程,由游戏服务器启动的时候读
取,若获得连接信息失败,提示数据库连接信息不存在,游戏房间将启动失败。
游戏金币财富数据库:TreasureDB
数据库内容:
存储用户的游戏相关信息,例如游戏金币或积分,胜局,和局,逃局,登录时间,游戏记录等信息数据库表结构:
表GameScoreInfo(金币、积分信息)
由以下字段组成:
●UserID:用户标识号码,作为外键与用户数据库用户标识项关联
●Score:用户的金币或积分数值,此处代表用户的金币数值
●Revenue:游戏税收,用户在游戏中被系统扣除税收的累计总和
●InsureScore:银行存款金币,(保留扩展用字段),有运营商确定
●WinCount:用户的游戏胜利局数
●LostCount:用户的游戏输局局数
●DrawCount:用户的游戏和局局数
●FleeCount:用户的游戏逃跑局数
●UserRight:用户在此游戏中的普通权限数值,在登录房间的时候与用户数据库的权
限进行叠加处理
●MasterRight:用户在此游戏中的管理权限数值,在登录房间的时候与用户数据库的
权限进行叠加处理
●MasterOrder:管理员等级标识,默认为 0,具体数字由具体运营商确定
●PlayTimeCount:用户在此类游戏中的累计游戏时间,单位:秒
●OnLineTimeCount:在线时间,单位:秒
●AllLogonTimes:用户进入此类游戏的总次数
●RegisterDate:用户首次进入此类游戏的时间
●LastLogonDate:用户最后一次进入此类游戏的时间
●RegisterIP:用户首次进入此类游戏的 IP 地址
●LastLogonIP:用户最后一次进入此类游戏的IP 地址
表GameScoreLocker(锁定游戏用户)
由以下字段组成:
●UserID:锁定用户的 ID 号码,作为外键与用户数据库的用户标识项关联
●KindID:锁定游戏的游戏类型标识号码,用于追踪和查询使用,不起关键使用
●ServerID:锁定游戏的房间标识号码,用于追踪和查询使用,不起关键使用
●CollectDate:记录日期
表RecordUserEnter(用户进入房间记录)
由以下字段组成:
●UserID:用户标识号码,作为外键与用户数据库的用户标识项关联
●Score:用户进入房间时刻的金币或积分数值
●KindID:用户进入的房间的游戏类型标识号码
●ServerID:用户进入房间的房间标识号码
●ClientIP:用户进入房间的连接IP地址
●EnterTime:用户进入房间的时间
表RecordUserLeave (用户离开房间记录)
由以下字段组成:
●UserID:用户标识号码,作为外键与用户数据库的用户标识项关联
●LeaveTime:用户离开房间的时间
●Score:用户在游戏房间游戏所产生的金币或积分改变的数值
●PlayTimeCount:用户在游戏房间游戏所产生的游戏时间的数值,单位:秒
●OnLineTimeCount:用户在游戏房间游戏所产生的在线时间的数值,单位:秒
●KindID:用户进入的房间的游戏类型标识号码
●ServerID:用户进入房间的房间标识号码
●Revenue:税收数目,记录用户本局游戏被系统扣除的税收数目
表RecordGiftGrant(赠送鲜花记录)
由以下字段组成:
●RecordID:记录标识
●SendUserID:赠送者标识,作为外键与用户数据库的用户标识项关联
●RcvUserID:接受者标识,作为外键与用户数据库的用户标识项关联
●KindID:游戏的种类标识号码,作为外键与平台信息数据库的游戏种类列表的游戏的
种类标识号码关联
●ServerID:用户赠送礼物的房间的房间标识号码
●Gift:赠送礼物,用户赠送的礼物名称
●GiftPay:赠送付费,用户赠送礼物的金币花费
●GrantIP:赠送地址,用户赠送礼物时的IP地址
●GrantDate:赠送日期,用户赠送礼物的赠送日期
表RecordGameScore(游戏记录)
由以下字段组成:
●RecordID:记录标识
●KindID:游戏的种类标识号码
●ServerID:房间标识号码
●TableID:桌子号码
●WasteCount:损耗数目
●RevenueCount:税收数目
●PlayTimeCount:游戏时间,单位:
●UserID1:用户1标识号码,作为外键与用户数据库的用户标识项关联
●GameScore1:用户1游戏金币或积分
●UserID2:用户2标识号码,作为外键与用户数据库的用户标识项关联
●GameScore2:用户2游戏金币或积分
●UserID3:用户3标识号码,作为外键与用户数据库的用户标识项关联
●GameScore3:用户3游戏金币或积分
●UserID4:用户4标识号码,作为外键与用户数据库的用户标识项关联
●GameScore4:用户4游戏金币或积分
●UserID5:用户5标识号码,作为外键与用户数据库的用户标识项关联
●GameScore5:用户5游戏金币或积分
●UserID6:用户6标识号码,作为外键与用户数据库的用户标识项关联
●GameScore6:用户6游戏金币或积分
●UserID7:用户7标识号码,作为外键与用户数据库的用户标识项关联
●GameScore7:用户7游戏金币或积分
●UserID8:用户8标识号码,作为外键与用户数据库的用户标识项关联
●GameScore8:用户8游戏金币或积分
●RecordDate:记录时间
表AndroidUserInfo(机器人)
由以下字段组成:
●UserID:用户(机器人)标识号码,作为外键与用户数据库的用户标识项关联
●Nullity:禁止服务标识,禁止当前UserID的用户(机器人)提供服务
●KindID:游戏类型标识,当前UserID的用户(机器人)提供服务的游戏类型标识
●ServerID:房间标识,当前UserID的用户(机器人)提供服务的游戏房间标识
●CreateDate:创建日期,当前UserID的用户(机器人)提供服务的开始日期
●AndroidNote:备注信息
表名:ConfineMachine (机器码限制)、ConfineAddress(IP地址限制)、SystemStreamInfo(每
日游戏房间登录、注销人数)与用户数据库中表的内容一致,且作用相同
存储过程描述:
a)GSP_GR_EfficacyUserID:用户进入游戏房间,游戏服务器所调用的存储过程
b)GSP_GR_LeaveGameServer:用户退出房间,游戏服务器所调用的存储过程
c)GSP_GR_WriteGameScore:游戏写分,一局结束后游戏服务器所调用的存储过程
d)GSP_GR_RecordGameScore:游戏记录,一局结束后游戏服务器所调用的存储过程
e)GSP_GR_LoadAndroidUser:加载机器人,游戏服务器所调用的存储过程
游戏积分数据库:GameScoreDB,LandDB,ChinaChessDB等
1.数据库内容:存储用户的游戏相关信息,例如游戏积分,胜局,和局,逃局,登录时间等信息
2.数据库表结构:与财富数据库的相同,不同的就是进入房间的时候是否产生锁定行为
3.存储过程描述:与财富数据库的相同,不同的就是进入房间的时候是否产生锁定行为
特殊功能应用:
1.首次进入金币房间送金币:通过设置金币库的金币信息表的积分字段的默认数值达到效果
2.对部分用户进行送金币或者改变部分设置:通过修改对应的数据库的存储过程的登录存储过程
达到效果
3.注册送金币功能:注册成功后,向财富数据库插入用户记录,改变金币数值
4.会员功能:把用户提升为会员需写入GameUserDB 库的表AccountsInfo的MemberOrder、
MemberOverDate、UserRight字段值此为游戏全局会员权限,如对财富类游戏或积分类游戏单独
设置权限需写入财富数据库或者积分数据库的表GameScoreInfo的UserRight字段值。
5.管理功能:把用户提升为管理员需写入GameUserDB 库的表AccountsInfo的MasterOrder、
MasterRight字段值此为游戏全局管理权限,如对财富类游戏或积分类游戏单独设置权限需写入
财富数据库或者积分数据库的表GameScoreInfo的MasterOrder、MasterRight字段值。
6.卡线处理功能:针对财富数据库锁定游戏用户需做游戏卡线处理,财富类游戏用户进入游戏房
间时将会锁定用户在表GameScoreLocker内。当卡线时需把用户从表GameScoreLocker删除此
为卡线处理功能。注意机器人跟普通用户一样也会卡线。
7.机器人功能:添加机器人需向财富数据库或者积分数据库插入用户记录。插入时需指定游戏类
型以及游戏房间。
8.游戏列表构造:
a)通用游戏列表:通过配置游戏分类列表、游戏种类列表来构造客户端可见的通用游戏列表。
通用游戏列表脚本请参考平台数据脚本的“游戏列表.sql”文件;
b)二次扩展游戏列表:构造带房间分类的游戏列表,请配置游戏房间分类列表。
9.数据库服务器连接信息配置:通过填写数据库地址信息表的数据库地址、端口号码,数据库用
户名和密码记录数据库服务器的地址信息。其中,数据库用户名和密码需要使用平台提供的专
用加密工具加密后填写。此处提供给游戏服务器启动的时候读取,若获得连接信息失败,提示
数据库连接信息不存在,游戏房间将启动失败。
10.数据库链接服务器配置:脚本代码请参考"链接脚本"目录下的"财富链接.sql"、"平台链接.sql"、"
用户链接.sql"三个脚本文件。此处链接服务器的登录使用Windows集成身份验证方式。游戏相
关的各数据库之间的互访通过数据库链接服务器实现。若数据库链接服务器配置错误,将导致
用户客户端登录失败。
权限参数对照表:
1.玩家权限定义对应UserRight字段
●0x00000001L 不能进行游戏
●0x00000002L 不能旁观游戏
●0x00000004L 不能发送私聊
●0x00000008L 不能大厅聊天
●0x00000010L 不能游戏聊天
2.标志权限定义对应UserRight字段
●0x10000000L 比赛用户标志
3.管理权限定义对应MasterRight字段
●0x00000001L 允许禁止游戏
●0x00000002L 允许禁止旁观
●0x00000004L 允许禁止私聊
●0x00000008L 允许禁止聊天(房间)
●0x00000010L 允许禁止聊天(游戏)
●0x00000020L 允许踢出用户
●0x00000040L 允许封锁帐号
●0x00000080L 允许禁止地址
●0x00000100L 允许查看地址
●0x00000200L 允许发送警告
●0x00000400L 允许发布消息
●0x00000800L 允许游戏绑定
●0x00001000L 允许全局绑定
●0x00002000L 允许配置房间
注意:权限叠加时请把叠加值相或后得出新值