Files
esengine/packages/framework/server/CHANGELOG.md
github-actions[bot] 4cf868a769 chore: release packages (#389)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-29 17:14:53 +08:00

4.3 KiB

@esengine/server

1.3.0

Minor Changes

  • #388 afdeb00 Thanks @esengine! - feat(server): 添加可插拔速率限制系统 | add pluggable rate limiting system
    • 新增令牌桶策略 (TokenBucketStrategy) - 推荐用于一般场景
    • 新增滑动窗口策略 (SlidingWindowStrategy) - 精确跟踪
    • 新增固定窗口策略 (FixedWindowStrategy) - 简单高效
    • 新增房间速率限制 mixin (withRateLimit)
    • 新增速率限制装饰器 (@rateLimit, @noRateLimit)
    • 新增按消息类型限流装饰器 (@rateLimitMessage, @noRateLimitMessage)
    • 支持与认证系统组合使用
    • 导出路径: @esengine/server/ratelimit

1.2.0

Minor Changes

  • #386 61a13ba Thanks @esengine! - feat(server): 添加可插拔认证系统 | add pluggable authentication system
    • 新增 JWT 认证提供者 (createJwtAuthProvider)
    • 新增 Session 认证提供者 (createSessionAuthProvider)
    • 新增服务器认证 mixin (withAuth)
    • 新增房间认证 mixin (withRoomAuth)
    • 新增认证装饰器 (@requireAuth, @requireRole)
    • 新增测试工具 (MockAuthProvider)
    • 导出路径: @esengine/server/auth, @esengine/server/auth/testing

1.1.4

Patch Changes

  • Updated dependencies [a000cc0]:
    • @esengine/rpc@1.1.1

1.1.3

Patch Changes

  • #372 9c41181 Thanks @esengine! - fix: expose id property on ServerConnection type

    TypeScript was not properly resolving the inherited id property from the base Connection interface in some module resolution scenarios. This fix explicitly declares the id property on ServerConnection to ensure it's always visible to consumers.

1.1.2

Patch Changes

  • #370 18df9d1 Thanks @esengine! - fix: allow define() to be called before start()

    Previously, calling server.define() before server.start() would throw an error because roomManager was initialized inside start(). This fix moves the roomManager initialization to createServer(), allowing the expected usage pattern:

    const server = await createServer({ port: 3000 });
    server.define('world', WorldRoom); // Now works correctly
    await server.start();
    

1.1.1

Patch Changes

  • #368 66d5dc2 Thanks @esengine! - fix: 修复发布缺少 dist 目录 | fix missing dist in published packages

1.1.0

Minor Changes

  • #366 b6f1235 Thanks @esengine! - feat(server): 添加游戏服务器框架与房间系统 | add game server framework with Room system

    @esengine/server - 游戏服务器框架 | Game server framework

    • 文件路由系统 | File-based routing
    • Room 生命周期管理 (onCreate, onJoin, onLeave, onTick, onDispose) | Room lifecycle management
    • @onMessage 装饰器处理消息 | Message handler decorator
    • 玩家管理与断线处理 | Player management with auto-disconnect
    • 内置 JoinRoom/LeaveRoom API | Built-in room APIs
    • defineApi/defineMsg 类型安全辅助函数 | Type-safe helper functions

    create-esengine-server - CLI 脚手架工具 | CLI scaffolding tool

    • 生成 shared/server/client 项目结构 | Creates project structure
    • 类型安全的协议定义 | Type-safe protocol definitions
    • 包含 GameRoom 示例实现 | Includes example implementation