Skip to content

SC-JJXF/mechstorm_gameserver_rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MechStorm Game Server (Actix Version)

这是从Skynet框架迁移到Rust Actix框架的游戏服务器。

功能列表

✅ 已完成

  1. WebSocket基础架构

    • 连接管理和心跳机制
    • 用户认证(与现有用户中心集成)
  2. 对战匹配

    • 支持多种PVP模式:1v1、1v1v1v1、2v2
    • 挑战系统(玩家间相互挑战)
  3. 协议兼容性

    • 客户端消息格式完全兼容
    • WebSocket端点相同:/v1/connect_to_my_actor
    • 消息类型映射:matchctlroomctlpop-up-message

⏳ 正在迁移

  • 玩家Actor
    • matchctl:匹配状态机(玩家间邀请挑战)
    • roomctl:房间相关逻辑
  • 房间Actor
    • 角色状态维持、帧同步
    • pvp:玩家组,战斗输赢判定,血量数据维护等

☝️🤓 前面的区域,以后再来探索吧!

  • 房间Actor
    • 碰撞箱相关
  • 数据持久化
    • 玩家数据存储
    • 游戏记录保存

客户端兼容性

现有Skynet客户端无需任何修改即可连接到新的Actix服务器。

示例消息协议

认证消息:

{
  "token": "用户JWT令牌"
}

匹配控制消息:

{
  "type": "matchctl",
  "body": {
    "type": "i_want_match",
    "body": {
      "PVP_TYPE": "P1V1"
    }
  }
}

房间准备通知:

{
  "type": "roomctl",
  "body": {
    "type": "room_ready",
    "body": {
      "room_addr": "房间地址",
      "pvp_type": "P1V1"
    }
  }
}

运行服务器

cargo run

服务器默认监听 127.0.0.1:8888,可以通过环境变量修改:

export HOST=0.0.0.0
export PORT=8080
cargo run

技术栈

  • Rust - 系统编程语言
  • Actix - Actor框架
  • Actix-web - Web框架
  • Tokio - 异步运行时
  • Serde - JSON序列化

About

某怀旧服游戏服的 actix web 重写版,纯科技与狠活(指由 Claude Code 完成重写)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages