网狐6603架设教程详细
网狐6603这套代码,网狐说白了就是架设教程一套棋牌游戏服务端的骨架。拿在手里第一件事,详细别急着点“生成解决方案”,网狐先看目录结构。架设教程Server文件夹里通常躺着几个核心工程:GameServer、详细LogonServer、网狐RoomServer,架设教程外加一个共享的详细BaseModule。很多新手栽跟头,网狐是架设教程因为直接拿VS2019打开就编译,结果一堆C2143语法错误——这玩意儿原生是详细VS2010或2013的工程,字符集默认多字节,网狐你切到Unicode,架设教程字符串转换能把你搞疯。详细 我习惯先把所有工程属性里的“平台工具集”统一改成v100或v120,对应VS2010/2013。没有?去装对应的编译组件。然后检查附加包含目录,通常指向 配置服务端IP是个细致活。打开 客户端这边,网狐6603的源码里通常带一个 数据库连接字符串在 启动顺序有讲究。先开LogonServer,再开GameServer,最后开RoomServer。LogonServer负责账号验证,GameServer管大厅逻辑,RoomServer管具体牌桌。顺序反了,RoomServer连不上GameServer,日志里会刷“连接游戏服务器失败”。日志文件在 最后说个实际案例。上周帮人架设,客户端登录后卡在“正在连接服务器”,服务端日志显示 架设网狐6603,核心就三件事:编译环境对齐、IP端口别写错、数据库连接通。剩下的就是看日志、抓包、改代码。别指望一次成功,多试几次,把每个报错都当成线索,比看十篇教程都管用。..\..\Common和..\..\Public,路径不对就手动补。数据库方面,网狐6603默认用SQL Server,还原一个GameDB和LogDB。注意,它的存储过程里有几个用了sp_executesql拼接,如果你的SQL版本是2016以上,兼容级别调到110或120,否则执行计划缓存会出幺蛾子。GameServer下的Config.ini,你会看到[ServerInfo]段。别只改PublicIP,LocalIP和BindIP也得对上。我见过有人只改公网IP,结果内网机器连不上,因为RoomServer向GameServer注册时走的是本地回环。还有端口,默认GamePort=10001,RoomPort=10002,如果你服务器上有其他服务占着,改完记得防火墙放行。Windows防火墙新建入站规则,选“端口”,TCP,填具体端口,别图省事直接关防火墙。Client工程,C++ MFC写的。编译前确认GameLib和PlazaLib的链接库路径。有个坑:Plaza.exe启动时会读Plaza.ini里的ServerIP,但如果你从VS里直接调试,工作目录是$(ProjectDir),不是输出目录,所以得把ini文件复制到工程目录下。我一般直接改项目属性里的“调试工作目录”为..\..\Client\Bin,省得来回拷。GameServer的DBConfig.ini里。Provider=SQLOLEDB;Data Source=127.0.0.1;Initial Catalog=GameDB;User ID=sa;Password=你的密码。注意,网狐6603用的是OLE DB,不是ODBC。如果你用SQL Server Express,实例名要写.\SQLEXPRESS。还有,sa账户默认可能被禁用,去SSMS里启用并设密码,别偷懒用Windows身份验证,服务端跑起来会报“用户登录失败”。Log目录下,按日期分文件夹,出问题先看Error.log。常见错误:CreateFile失败,那是路径里有中文;bind失败,端口被占;SQLExecDirect返回-1,SQL语句或连接有问题。OnAccept收到连接但OnRecv没数据。抓包发现客户端发的第一个包长度是0x0C,但服务端期望0x10。查源码,发现是CMD_GP_Logon结构体里有个DWORD对齐问题,客户端编译时用了#pragma pack(1),服务端没加。在共享头文件里统一加#pragma pack(push,1),问题解决。这种坑,教程不会写,只有自己踩过才知道。
- 最近发表
- 随机阅读
- 搜索
-
- 友情链接
-