登录器配置与使用¶
本文档详细介绍游戏登录器(Launcher)的配置、编译及使用说明。
简介¶
Launcher 是基于 .NET Framework 4.8 开发的 Windows 桌面应用程序,主要负责: - 账号注册与登录 - 服务器列表获取与选择 - 游戏客户端自动更新 - 启动游戏主程序(UE4 客户端)
开发环境¶
- IDE: Visual Studio 2022
- 框架: .NET Framework 4.8
- UI 库: SunnyUI, AlphaForm
- 项目路径:
D:\CQYH\Mir3D_Code_GitHub\Launcher
核心配置¶
登录器的主要配置目前通过代码中的静态类进行管理,部分支持外部文件配置。
1. 服务器连接配置¶
主要配置位于 游戏登录器/自定义类.cs 和 游戏登录器/网络类/网络通信.cs。
硬编码方式(默认):
在 自定义类.cs 中修改:
public static string 账号服务器IP => "127.0.0.1"; // 修改为你的服务器公网IP
public static ushort 账号服务器端口 => 8001; // 默认端口
外部文件方式(可选):
登录器启动时会尝试读取根目录下的 updateConf.txt 文件(需取消代码注释启用):
文件格式:IP:端口
例如:127.0.0.1:8001
2. 客户端路径配置¶
登录器默认假定以下目录结构:
登录器.exe
├── Binaries/
│ ├── Win32/
│ │ └── MMOGame-Win32-Shipping.exe
│ └── Win64/
│ └── MMOGame-Win64-Shipping.exe
├── MMOGame/
│ └── Config/
│ └── 00000.pak (配置文件)
└── Temp/ (缓存目录)
相关代码位置:
- 自定义类.启动文件
- 自定义类.X64启动文件
3. 版本验证¶
登录器包含强制版本检查逻辑,确保客户端与服务器版本一致。
检查逻辑:
- 读取 Binaries\Win64\MMOGame-Win64-Shipping.exe 的文件版本信息。
- 要求版本必须为 1.0.4.24。
- 如果版本不匹配,会提示下载最新客户端。
修改位置:
游戏登录器/登录界面.cs 中的 Main 或构造函数部分:
FileVersionInfo fv = FileVersionInfo.GetVersionInfo(自定义类.X64启动文件);
var versionArr = fv.FileVersion.Split('.');
// 修改此处的版本号判断逻辑
if (versionArr.Length != 4 || versionArr[0] != "1" || ...)
编译指南¶
- 使用 Visual Studio 打开
Launcher/Launcher.csproj。 - 确保已安装 NuGet 包:
SunnyUI,Costura.Fody(用于将 DLL 打包进 EXE)。 - 选择
Release模式和x86平台(通常登录器为 32 位以兼容更多系统)。 - 点击“生成解决方案”。
- 生成的
游戏登录器.exe位于bin/x86/Release目录下。
常见问题¶
Q: 启动提示“找不到启动程序”?¶
A: 请确保登录器放在游戏客户端的根目录下,并且 Binaries 文件夹结构完整。
Q: 连接服务器失败?¶
A:
1. 检查 自定义类.cs 中的 IP 是否指向正确的账号服务器地址。
2. 检查服务器防火墙是否放行 8001 端口。
3. 检查 updateConf.txt 是否存在且配置正确。
Q: 界面显示不全或错位?¶
A: 登录器包含“精简模式”适配低分辨率屏幕(宽<1440 或 高<900)。检查 Program.cs 中的分辨率判断逻辑。