更新三个按钮 修了一堆bug
This commit is contained in:
100
test_version_validation.md
Normal file
100
test_version_validation.md
Normal file
@@ -0,0 +1,100 @@
|
||||
# 版本号验证功能测试指南
|
||||
|
||||
## 功能概述
|
||||
实现了客户端和服务端的版本号验证机制,确保只有版本匹配的客户端才能登录或注册游戏。
|
||||
|
||||
## 实现的功能
|
||||
|
||||
### 1. 客户端修改
|
||||
- 在 `MainGame.gd` 中定义了客户端版本号:`const client_version :String = "1.0.1"`
|
||||
- 在 `TCPNetworkManager.gd` 中修改了登录和注册请求,添加了版本号字段
|
||||
- 在 `login_panel.gd` 中添加了版本号显示功能
|
||||
|
||||
### 2. 服务端修改
|
||||
- 在 `TCPGameServer.py` 中定义了服务端版本号:`server_version: str = "1.0.1"`
|
||||
- 添加了版本号验证函数 `_check_client_version()`
|
||||
- 在登录和注册处理中添加了版本号验证逻辑
|
||||
- 在服务器启动时显示版本信息
|
||||
|
||||
## 测试步骤
|
||||
|
||||
### 测试1:版本匹配(正常情况)
|
||||
1. 确保客户端和服务端版本号都是 "1.0.1"
|
||||
2. 启动服务器,应该看到:
|
||||
```
|
||||
萌芽农场游戏服务器 v1.0.1
|
||||
服务器地址: 0.0.0.0:4040
|
||||
==================================================
|
||||
```
|
||||
3. 启动客户端,应该看到:
|
||||
```
|
||||
萌芽农场客户端 v1.0.1 启动
|
||||
```
|
||||
4. 在登录界面应该显示:`萌芽农场 v1.0.1 - 欢迎使用`
|
||||
5. 尝试登录或注册,应该正常工作
|
||||
|
||||
### 测试2:版本不匹配(客户端版本较低)
|
||||
1. 修改客户端版本号为 "0.9.0":
|
||||
```gdscript
|
||||
const client_version :String = "0.9.0"
|
||||
```
|
||||
2. 保持服务端版本为 "1.0.0"
|
||||
3. 重新启动客户端
|
||||
4. 尝试登录,应该收到错误消息:
|
||||
```
|
||||
版本不匹配!客户端版本: 0.9.0, 服务端版本: 1.0.1,请更新客户端
|
||||
```
|
||||
5. 尝试注册,应该收到相同的错误消息
|
||||
|
||||
### 测试3:版本不匹配(客户端版本较高)
|
||||
1. 修改客户端版本号为 "1.1.0":
|
||||
```gdscript
|
||||
const client_version :String = "1.1.0"
|
||||
```
|
||||
2. 保持服务端版本为 "1.0.1"
|
||||
3. 重新启动客户端
|
||||
4. 尝试登录或注册,应该收到版本不匹配的错误消息
|
||||
|
||||
### 测试4:空版本号处理
|
||||
1. 修改客户端代码,发送空的版本号
|
||||
2. 尝试登录或注册,应该被拒绝
|
||||
|
||||
## 预期结果
|
||||
|
||||
### 成功情况
|
||||
- 版本匹配时,登录和注册功能正常工作
|
||||
- 客户端和服务端都显示正确的版本信息
|
||||
|
||||
### 失败情况
|
||||
- 版本不匹配时,登录和注册被拒绝
|
||||
- 显示清晰的错误消息,指出版本不匹配的具体信息
|
||||
- 服务端记录相应的警告日志
|
||||
|
||||
## 日志示例
|
||||
|
||||
### 服务端日志(版本匹配)
|
||||
```
|
||||
[INFO] [SERVER] TCP游戏服务器初始化 - 版本: 1.0.1
|
||||
[INFO] [SERVER] 用户 12345 登录成功
|
||||
```
|
||||
|
||||
### 服务端日志(版本不匹配)
|
||||
```
|
||||
[WARNING] [SERVER] 用户 12345 登录失败: 版本不匹配 (客户端: 0.9.0, 服务端: 1.0.1)
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. **版本号格式**:建议使用语义化版本号格式(如 1.0.0)
|
||||
2. **向后兼容性**:如果需要支持多个版本,可以修改验证逻辑
|
||||
3. **版本更新策略**:
|
||||
- 主版本号变更:不兼容的重大更新
|
||||
- 次版本号变更:向后兼容的功能更新
|
||||
- 修订版本号变更:向后兼容的问题修复
|
||||
|
||||
## 扩展功能建议
|
||||
|
||||
1. **版本兼容性矩阵**:支持多个兼容版本
|
||||
2. **自动更新提示**:客户端检测到版本不匹配时提供更新链接
|
||||
3. **最低版本要求**:设置服务端支持的最低客户端版本
|
||||
4. **版本信息API**:提供接口查询当前服务端版本和兼容的客户端版本列表
|
||||
Reference in New Issue
Block a user