本篇将作为“网狐系列美乐迪电玩组件”技术文档的第一篇,重点讲解服务端的文件结构、数据库设计、解密工具使用方式,为后续搭建、美术替换与客户端调试打下技术基础。
一、服务端文件结构说明
解压后的服务端目录结构较为清晰,一般如下:
/meiledi_server
├── bin/ # 核心服务程序
├── conf/ # 配置文件目录
├── db_script/ # SQL结构文件
├── decrypt_tool/ # 解密工具(资源/配置)
├── logs/ # 启动后生成日志
└── start.bat # 一键启动脚本
关键文件说明:
-
GameServer.exe:大厅逻辑服务进程,监听多个子游戏模块。 -
LoginServer.exe:用户登录验证与分配。 -
roomlist.json:控制大厅中可加载游戏的种类与参数(需解密编辑)。 -
config.ini:数据库与服务监听端口配置核心入口。
二、数据库结构初始化(SQL Server)
推荐环境:SQL Server 2014 及以上版本
1. 创建数据库
名称建议为:meiledi_game
2. 初始化脚本样例
路径:/db_script/init.sql
CREATE TABLE [dbo].[Accounts]([UserID] INT IDENTITY(1001,1) PRIMARY KEY,[Username] NVARCHAR(32) NOT NULL,[Password] NVARCHAR(32) NOT NULL,[CreateTime] DATETIME DEFAULT GETDATE(),[AgentID] INT DEFAULT 0
);CREATE TABLE [dbo].[ScoreInfo]([UserID] INT,[Score] BIGINT DEFAULT 0,[WinCount] INT DEFAULT 0,[LostCount] INT DEFAULT 0,FOREIGN KEY (UserID) REFERENCES Accounts(UserID)
);CREATE TABLE [dbo].[GameLog]([LogID] INT IDENTITY(1,1) PRIMARY KEY,[UserID] INT,[GameID] INT,[RoomID] INT,[ScoreChange] BIGINT,[CreateTime] DATETIME DEFAULT GETDATE()
);
3. 常见问题排查
| 错误信息 | 可能原因 |
|---|---|
| 无法连接数据库 | config.ini中连接配置错误或数据库未启动 |
| 登录后闪退 | 子表未建全,例如 ScoreInfo 缺失字段 |
| 游戏加载为空 | roomlist.json 未配置游戏项或JSON格式错误 |
三、config.ini 配置详解
路径:/conf/config.ini
[Database]
Server=127.0.0.1
Port=1433
User=sa
Password=yourpassword
DBName=meiledi_game[Server]
LoginPort=8600
GamePort=8700
MaxOnline=500[Log]
Enable=true
LogLevel=3
-
LoginPort/GamePort:分别对应 LoginServer 与 GameServer 监听端口
-
LogLevel:1=只报错, 3=开发调试推荐, 5=详细所有
四、解密工具使用说明
某些配置文件(如 roomlist.json, gameres.list)默认加密。
解密流程:
-
进入
decrypt_tool/ -
打开
RoomListDecoder.exe -
拖入加密文件,点击“解密”
-
编辑完成后可重新加密保存
五、启动流程建议
Windows 下运行流程:
# 进入根目录
cd /meiledi_server# 启动 LoginServer
start bin/LoginServer.exe# 启动 GameServer
start bin/GameServer.exe
检查端口是否被占用:
netstat -ano | findstr ":8600"
日志目录:
/logs/login.log
/logs/game.log
常见调试点包括数据库连接、房间加载、用户验证等。
