@roomkit/core 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/protocol/index.d.ts +5 -0
- package/dist/protocol/index.d.ts.map +1 -0
- package/dist/protocol/index.js +5 -0
- package/dist/protocol/index.js.map +1 -0
- package/dist/protocol/message-id.d.ts +53 -0
- package/dist/protocol/message-id.d.ts.map +1 -0
- package/dist/protocol/message-id.js +72 -0
- package/dist/protocol/message-id.js.map +1 -0
- package/dist/protocol/message-type.d.ts +173 -0
- package/dist/protocol/message-type.d.ts.map +1 -0
- package/dist/protocol/message-type.js +246 -0
- package/dist/protocol/message-type.js.map +1 -0
- package/dist/protocol/messages.d.ts +78 -0
- package/dist/protocol/messages.d.ts.map +1 -0
- package/dist/protocol/messages.js +2 -0
- package/dist/protocol/messages.js.map +1 -0
- package/dist/protocol/payloads.d.ts +106 -0
- package/dist/protocol/payloads.d.ts.map +1 -0
- package/dist/protocol/payloads.js +105 -0
- package/dist/protocol/payloads.js.map +1 -0
- package/dist/redis/index.d.ts +3 -0
- package/dist/redis/index.d.ts.map +1 -0
- package/dist/redis/index.js +3 -0
- package/dist/redis/index.js.map +1 -0
- package/dist/redis/keys.d.ts +36 -0
- package/dist/redis/keys.d.ts.map +1 -0
- package/dist/redis/keys.js +60 -0
- package/dist/redis/keys.js.map +1 -0
- package/dist/redis/lua-scripts.d.ts +16 -0
- package/dist/redis/lua-scripts.d.ts.map +1 -0
- package/dist/redis/lua-scripts.js +38 -0
- package/dist/redis/lua-scripts.js.map +1 -0
- package/dist/types/auth.d.ts +76 -0
- package/dist/types/auth.d.ts.map +1 -0
- package/dist/types/auth.js +15 -0
- package/dist/types/auth.js.map +1 -0
- package/dist/types/index.d.ts +118 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/session.d.ts +45 -0
- package/dist/types/session.d.ts.map +1 -0
- package/dist/types/session.js +2 -0
- package/dist/types/session.js.map +1 -0
- package/package.json +62 -0
package/README.md
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# @roomkit/core
|
|
2
|
+
|
|
3
|
+
Core types, protocols, and utilities for the RoomKit framework.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @roomkit/core
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
|
|
13
|
+
- 🔌 **Protocol Definitions** - Message IDs, types, and payloads
|
|
14
|
+
- 🔑 **Redis Keys** - Standardized Redis key patterns
|
|
15
|
+
- 📝 **TypeScript Types** - Complete type definitions for all protocols
|
|
16
|
+
- 🛠️ **Utilities** - Common utilities for Gateway and Worker
|
|
17
|
+
|
|
18
|
+
## Exports
|
|
19
|
+
|
|
20
|
+
### Protocol
|
|
21
|
+
|
|
22
|
+
```typescript
|
|
23
|
+
import { MessageId, MessageType } from '@roomkit/core';
|
|
24
|
+
|
|
25
|
+
// Message IDs
|
|
26
|
+
MessageId.AUTH
|
|
27
|
+
MessageId.CREATE_ROOM
|
|
28
|
+
MessageId.JOIN_ROOM
|
|
29
|
+
// ... etc
|
|
30
|
+
|
|
31
|
+
// Message Types
|
|
32
|
+
MessageType.REQUEST
|
|
33
|
+
MessageType.RESPONSE
|
|
34
|
+
MessageType.NOTIFICATION
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Redis Keys
|
|
38
|
+
|
|
39
|
+
```typescript
|
|
40
|
+
import { RedisKeys, RedisChannels } from '@roomkit/core/redis';
|
|
41
|
+
|
|
42
|
+
// Keys
|
|
43
|
+
RedisKeys.session(sessionId)
|
|
44
|
+
RedisKeys.room(roomId)
|
|
45
|
+
RedisKeys.gateway(gatewayId)
|
|
46
|
+
RedisKeys.worker(workerId)
|
|
47
|
+
|
|
48
|
+
// Channels
|
|
49
|
+
RedisChannels.rpcGateway(gatewayId)
|
|
50
|
+
RedisChannels.rpcWorker(workerId)
|
|
51
|
+
RedisChannels.broadcast()
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Types
|
|
55
|
+
|
|
56
|
+
```typescript
|
|
57
|
+
import type {
|
|
58
|
+
WsMessage,
|
|
59
|
+
AuthPayload,
|
|
60
|
+
CreateRoomPayload,
|
|
61
|
+
JoinRoomPayload
|
|
62
|
+
} from '@roomkit/core';
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Usage
|
|
66
|
+
|
|
67
|
+
This package is primarily used internally by `@roomkit/gateway` and `@roomkit/worker`, but can also be used by:
|
|
68
|
+
|
|
69
|
+
- Custom room implementations
|
|
70
|
+
- Testing utilities
|
|
71
|
+
- Protocol-compatible clients
|
|
72
|
+
|
|
73
|
+
## License
|
|
74
|
+
|
|
75
|
+
MIT
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @roomkit/core - Gateway-Worker Framework Core
|
|
3
|
+
*
|
|
4
|
+
* Core types, protocols and utilities for building scalable game servers.
|
|
5
|
+
*/
|
|
6
|
+
export * from './protocol/index.js';
|
|
7
|
+
export * from './redis/index.js';
|
|
8
|
+
export * from './types/index.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,qBAAqB,CAAC;AAGpC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,kBAAkB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @roomkit/core - Gateway-Worker Framework Core
|
|
3
|
+
*
|
|
4
|
+
* Core types, protocols and utilities for building scalable game servers.
|
|
5
|
+
*/
|
|
6
|
+
// Protocol definitions
|
|
7
|
+
export * from './protocol/index.js';
|
|
8
|
+
// Redis utilities
|
|
9
|
+
export * from './redis/index.js';
|
|
10
|
+
// Core types
|
|
11
|
+
export * from './types/index.js';
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,uBAAuB;AACvB,cAAc,qBAAqB,CAAC;AAEpC,kBAAkB;AAClB,cAAc,kBAAkB,CAAC;AAEjC,aAAa;AACb,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/protocol/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/protocol/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 消息ID定义
|
|
3
|
+
*
|
|
4
|
+
* 保留范围:
|
|
5
|
+
* - 1000-1999: 系统消息 (框架保留)
|
|
6
|
+
* - 2000-2999: 房间管理 (框架保留)
|
|
7
|
+
* - 3000-3999: 游戏逻辑 (用户自定义)
|
|
8
|
+
* - 4000-4999: 状态同步 (框架保留)
|
|
9
|
+
* - 5000-5999: 错误消息 (框架保留)
|
|
10
|
+
*/
|
|
11
|
+
export declare enum MessageId {
|
|
12
|
+
AUTH_REQ = 1001,
|
|
13
|
+
AUTH_RES = 1002,
|
|
14
|
+
HEARTBEAT = 1003,
|
|
15
|
+
HEARTBEAT_ACK = 1004,
|
|
16
|
+
KICK_NOTIFY = 1005,
|
|
17
|
+
CREATE_ROOM_REQ = 2001,
|
|
18
|
+
CREATE_ROOM_RES = 2002,
|
|
19
|
+
JOIN_ROOM_REQ = 2003,
|
|
20
|
+
JOIN_ROOM_RES = 2004,
|
|
21
|
+
LEAVE_ROOM_REQ = 2005,
|
|
22
|
+
LEAVE_ROOM_RES = 2006,
|
|
23
|
+
ROOM_LIST_REQ = 2007,
|
|
24
|
+
ROOM_LIST_RES = 2008,
|
|
25
|
+
JOIN_OR_CREATE_REQ = 2009,
|
|
26
|
+
JOIN_OR_CREATE_RES = 2010,
|
|
27
|
+
/** 用户自定义消息起始ID */
|
|
28
|
+
USER_MESSAGE_START = 3000,
|
|
29
|
+
PLAYER_ACTION = 3001,
|
|
30
|
+
ACTION_RESULT = 3002,
|
|
31
|
+
CHAT_MESSAGE = 3003,
|
|
32
|
+
CHAT_BROADCAST = 3004,
|
|
33
|
+
STATE_FULL = 4001,
|
|
34
|
+
STATE_DELTA = 4002,
|
|
35
|
+
PLAYER_JOINED = 4003,
|
|
36
|
+
PLAYER_LEFT = 4004,
|
|
37
|
+
ROOM_CLOSING = 4005,
|
|
38
|
+
SYSTEM_MESSAGE = 4099,// 系统消息(如提示、警告等)
|
|
39
|
+
STATE_CHUNK = 4010,// 状态分片
|
|
40
|
+
STATE_CHUNK_ACK = 4011,// 分片确认
|
|
41
|
+
ROOM_MIGRATING = 4500,
|
|
42
|
+
ROOM_MIGRATION_COMPLETE = 4501,
|
|
43
|
+
ERROR = 5000
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* 判断消息类别
|
|
47
|
+
*/
|
|
48
|
+
export declare function isSystemMessage(msgId: number): boolean;
|
|
49
|
+
export declare function isRoomManagementMessage(msgId: number): boolean;
|
|
50
|
+
export declare function isGameLogicMessage(msgId: number): boolean;
|
|
51
|
+
export declare function isStateSyncMessage(msgId: number): boolean;
|
|
52
|
+
export declare function isErrorMessage(msgId: number): boolean;
|
|
53
|
+
//# sourceMappingURL=message-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-id.d.ts","sourceRoot":"","sources":["../../src/protocol/message-id.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,oBAAY,SAAS;IAEnB,QAAQ,OAAO;IACf,QAAQ,OAAO;IACf,SAAS,OAAO;IAChB,aAAa,OAAO;IACpB,WAAW,OAAO;IAGlB,eAAe,OAAO;IACtB,eAAe,OAAO;IACtB,aAAa,OAAO;IACpB,aAAa,OAAO;IACpB,cAAc,OAAO;IACrB,cAAc,OAAO;IACrB,aAAa,OAAO;IACpB,aAAa,OAAO;IACpB,kBAAkB,OAAO;IACzB,kBAAkB,OAAO;IAGzB,kBAAkB;IAClB,kBAAkB,OAAO;IAGzB,aAAa,OAAO;IACpB,aAAa,OAAO;IACpB,YAAY,OAAO;IACnB,cAAc,OAAO;IAGrB,UAAU,OAAO;IACjB,WAAW,OAAO;IAClB,aAAa,OAAO;IACpB,WAAW,OAAO;IAClB,YAAY,OAAO;IACnB,cAAc,OAAO,CAAE,gBAAgB;IAGvC,WAAW,OAAO,CAAO,OAAO;IAChC,eAAe,OAAO,CAAG,OAAO;IAGhC,cAAc,OAAO;IACrB,uBAAuB,OAAO;IAG9B,KAAK,OAAO;CACb;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAErD"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 消息ID定义
|
|
3
|
+
*
|
|
4
|
+
* 保留范围:
|
|
5
|
+
* - 1000-1999: 系统消息 (框架保留)
|
|
6
|
+
* - 2000-2999: 房间管理 (框架保留)
|
|
7
|
+
* - 3000-3999: 游戏逻辑 (用户自定义)
|
|
8
|
+
* - 4000-4999: 状态同步 (框架保留)
|
|
9
|
+
* - 5000-5999: 错误消息 (框架保留)
|
|
10
|
+
*/
|
|
11
|
+
export var MessageId;
|
|
12
|
+
(function (MessageId) {
|
|
13
|
+
// ============ 系统消息 1000-1999 ============
|
|
14
|
+
MessageId[MessageId["AUTH_REQ"] = 1001] = "AUTH_REQ";
|
|
15
|
+
MessageId[MessageId["AUTH_RES"] = 1002] = "AUTH_RES";
|
|
16
|
+
MessageId[MessageId["HEARTBEAT"] = 1003] = "HEARTBEAT";
|
|
17
|
+
MessageId[MessageId["HEARTBEAT_ACK"] = 1004] = "HEARTBEAT_ACK";
|
|
18
|
+
MessageId[MessageId["KICK_NOTIFY"] = 1005] = "KICK_NOTIFY";
|
|
19
|
+
// ============ 房间管理 2000-2999 ============
|
|
20
|
+
MessageId[MessageId["CREATE_ROOM_REQ"] = 2001] = "CREATE_ROOM_REQ";
|
|
21
|
+
MessageId[MessageId["CREATE_ROOM_RES"] = 2002] = "CREATE_ROOM_RES";
|
|
22
|
+
MessageId[MessageId["JOIN_ROOM_REQ"] = 2003] = "JOIN_ROOM_REQ";
|
|
23
|
+
MessageId[MessageId["JOIN_ROOM_RES"] = 2004] = "JOIN_ROOM_RES";
|
|
24
|
+
MessageId[MessageId["LEAVE_ROOM_REQ"] = 2005] = "LEAVE_ROOM_REQ";
|
|
25
|
+
MessageId[MessageId["LEAVE_ROOM_RES"] = 2006] = "LEAVE_ROOM_RES";
|
|
26
|
+
MessageId[MessageId["ROOM_LIST_REQ"] = 2007] = "ROOM_LIST_REQ";
|
|
27
|
+
MessageId[MessageId["ROOM_LIST_RES"] = 2008] = "ROOM_LIST_RES";
|
|
28
|
+
MessageId[MessageId["JOIN_OR_CREATE_REQ"] = 2009] = "JOIN_OR_CREATE_REQ";
|
|
29
|
+
MessageId[MessageId["JOIN_OR_CREATE_RES"] = 2010] = "JOIN_OR_CREATE_RES";
|
|
30
|
+
// ============ 游戏逻辑 3000-3999 (用户自定义起始点) ============
|
|
31
|
+
/** 用户自定义消息起始ID */
|
|
32
|
+
MessageId[MessageId["USER_MESSAGE_START"] = 3000] = "USER_MESSAGE_START";
|
|
33
|
+
// 通用游戏消息
|
|
34
|
+
MessageId[MessageId["PLAYER_ACTION"] = 3001] = "PLAYER_ACTION";
|
|
35
|
+
MessageId[MessageId["ACTION_RESULT"] = 3002] = "ACTION_RESULT";
|
|
36
|
+
MessageId[MessageId["CHAT_MESSAGE"] = 3003] = "CHAT_MESSAGE";
|
|
37
|
+
MessageId[MessageId["CHAT_BROADCAST"] = 3004] = "CHAT_BROADCAST";
|
|
38
|
+
// ============ 状态同步 4000-4999 ============
|
|
39
|
+
MessageId[MessageId["STATE_FULL"] = 4001] = "STATE_FULL";
|
|
40
|
+
MessageId[MessageId["STATE_DELTA"] = 4002] = "STATE_DELTA";
|
|
41
|
+
MessageId[MessageId["PLAYER_JOINED"] = 4003] = "PLAYER_JOINED";
|
|
42
|
+
MessageId[MessageId["PLAYER_LEFT"] = 4004] = "PLAYER_LEFT";
|
|
43
|
+
MessageId[MessageId["ROOM_CLOSING"] = 4005] = "ROOM_CLOSING";
|
|
44
|
+
MessageId[MessageId["SYSTEM_MESSAGE"] = 4099] = "SYSTEM_MESSAGE";
|
|
45
|
+
// 分片状态传输
|
|
46
|
+
MessageId[MessageId["STATE_CHUNK"] = 4010] = "STATE_CHUNK";
|
|
47
|
+
MessageId[MessageId["STATE_CHUNK_ACK"] = 4011] = "STATE_CHUNK_ACK";
|
|
48
|
+
// ============ 房间迁移 4500-4599 ============
|
|
49
|
+
MessageId[MessageId["ROOM_MIGRATING"] = 4500] = "ROOM_MIGRATING";
|
|
50
|
+
MessageId[MessageId["ROOM_MIGRATION_COMPLETE"] = 4501] = "ROOM_MIGRATION_COMPLETE";
|
|
51
|
+
// ============ 错误 5000-5999 ============
|
|
52
|
+
MessageId[MessageId["ERROR"] = 5000] = "ERROR";
|
|
53
|
+
})(MessageId || (MessageId = {}));
|
|
54
|
+
/**
|
|
55
|
+
* 判断消息类别
|
|
56
|
+
*/
|
|
57
|
+
export function isSystemMessage(msgId) {
|
|
58
|
+
return msgId >= 1000 && msgId < 2000;
|
|
59
|
+
}
|
|
60
|
+
export function isRoomManagementMessage(msgId) {
|
|
61
|
+
return msgId >= 2000 && msgId < 3000;
|
|
62
|
+
}
|
|
63
|
+
export function isGameLogicMessage(msgId) {
|
|
64
|
+
return msgId >= 3000 && msgId < 4000;
|
|
65
|
+
}
|
|
66
|
+
export function isStateSyncMessage(msgId) {
|
|
67
|
+
return msgId >= 4000 && msgId < 5000;
|
|
68
|
+
}
|
|
69
|
+
export function isErrorMessage(msgId) {
|
|
70
|
+
return msgId >= 5000 && msgId < 6000;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=message-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-id.js","sourceRoot":"","sources":["../../src/protocol/message-id.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAN,IAAY,SAgDX;AAhDD,WAAY,SAAS;IACnB,2CAA2C;IAC3C,oDAAe,CAAA;IACf,oDAAe,CAAA;IACf,sDAAgB,CAAA;IAChB,8DAAoB,CAAA;IACpB,0DAAkB,CAAA;IAElB,2CAA2C;IAC3C,kEAAsB,CAAA;IACtB,kEAAsB,CAAA;IACtB,8DAAoB,CAAA;IACpB,8DAAoB,CAAA;IACpB,gEAAqB,CAAA;IACrB,gEAAqB,CAAA;IACrB,8DAAoB,CAAA;IACpB,8DAAoB,CAAA;IACpB,wEAAyB,CAAA;IACzB,wEAAyB,CAAA;IAEzB,sDAAsD;IACtD,kBAAkB;IAClB,wEAAyB,CAAA;IAEzB,SAAS;IACT,8DAAoB,CAAA;IACpB,8DAAoB,CAAA;IACpB,4DAAmB,CAAA;IACnB,gEAAqB,CAAA;IAErB,2CAA2C;IAC3C,wDAAiB,CAAA;IACjB,0DAAkB,CAAA;IAClB,8DAAoB,CAAA;IACpB,0DAAkB,CAAA;IAClB,4DAAmB,CAAA;IACnB,gEAAqB,CAAA;IAErB,SAAS;IACT,0DAAkB,CAAA;IAClB,kEAAsB,CAAA;IAEtB,2CAA2C;IAC3C,gEAAqB,CAAA;IACrB,kFAA8B,CAAA;IAE9B,yCAAyC;IACzC,8CAAY,CAAA;AACd,CAAC,EAhDW,SAAS,KAAT,SAAS,QAgDpB;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 消息类型定义
|
|
3
|
+
*
|
|
4
|
+
* 框架内置消息使用 'gw:' 前缀
|
|
5
|
+
* 用户自定义消息可以使用任意字符串
|
|
6
|
+
*/
|
|
7
|
+
/** 连接成功通知(服务端→客户端) */
|
|
8
|
+
export declare const MSG_CONNECT = "gw:connect";
|
|
9
|
+
/** 认证请求(客户端→服务端) */
|
|
10
|
+
export declare const MSG_AUTH = "gw:auth";
|
|
11
|
+
/** 认证成功(服务端→客户端) */
|
|
12
|
+
export declare const MSG_AUTH_OK = "gw:auth:ok";
|
|
13
|
+
/** 认证失败(服务端→客户端) */
|
|
14
|
+
export declare const MSG_AUTH_FAIL = "gw:auth:fail";
|
|
15
|
+
/** 心跳请求 */
|
|
16
|
+
export declare const MSG_HEARTBEAT = "gw:heartbeat";
|
|
17
|
+
/** 心跳响应 */
|
|
18
|
+
export declare const MSG_HEARTBEAT_ACK = "gw:heartbeat:ack";
|
|
19
|
+
/** 踢出连接(服务端→客户端) */
|
|
20
|
+
export declare const MSG_KICK = "gw:kick";
|
|
21
|
+
/** 加入房间请求(客户端→服务端) */
|
|
22
|
+
export declare const MSG_ROOM_JOIN = "gw:room:join";
|
|
23
|
+
/** 加入或创建房间请求(客户端→服务端) */
|
|
24
|
+
export declare const MSG_ROOM_JOIN_OR_CREATE = "gw:room:join-or-create";
|
|
25
|
+
/** 加入成功(服务端→客户端) */
|
|
26
|
+
export declare const MSG_ROOM_JOIN_OK = "gw:room:join:ok";
|
|
27
|
+
/** 加入失败(服务端→客户端) */
|
|
28
|
+
export declare const MSG_ROOM_JOIN_FAIL = "gw:room:join:fail";
|
|
29
|
+
/** 离开房间请求(客户端→服务端) */
|
|
30
|
+
export declare const MSG_ROOM_LEAVE = "gw:room:leave";
|
|
31
|
+
/** 离开成功(服务端→客户端) */
|
|
32
|
+
export declare const MSG_ROOM_LEAVE_OK = "gw:room:leave:ok";
|
|
33
|
+
/** 创建房间请求(客户端→服务端) */
|
|
34
|
+
export declare const MSG_ROOM_CREATE = "gw:room:create";
|
|
35
|
+
/** 创建成功(服务端→客户端) */
|
|
36
|
+
export declare const MSG_ROOM_CREATE_OK = "gw:room:create:ok";
|
|
37
|
+
/** 创建失败(服务端→客户端) */
|
|
38
|
+
export declare const MSG_ROOM_CREATE_FAIL = "gw:room:create:fail";
|
|
39
|
+
/** 获取房间列表请求(客户端→服务端) */
|
|
40
|
+
export declare const MSG_ROOM_LIST = "gw:room:list";
|
|
41
|
+
/** 房间列表响应(服务端→客户端) */
|
|
42
|
+
export declare const MSG_ROOM_LIST_OK = "gw:room:list:ok";
|
|
43
|
+
/** 重连请求(客户端→服务端) */
|
|
44
|
+
export declare const MSG_RECONNECT = "gw:reconnect";
|
|
45
|
+
/** 重连成功(服务端→客户端) */
|
|
46
|
+
export declare const MSG_RECONNECT_OK = "gw:reconnect:ok";
|
|
47
|
+
/** 重连失败(服务端→客户端) */
|
|
48
|
+
export declare const MSG_RECONNECT_FAIL = "gw:reconnect:fail";
|
|
49
|
+
/** 完整状态(服务端→客户端) */
|
|
50
|
+
export declare const MSG_STATE_FULL = "gw:state:full";
|
|
51
|
+
/** 增量更新(服务端→客户端) */
|
|
52
|
+
export declare const MSG_STATE_DELTA = "gw:state:delta";
|
|
53
|
+
/** 玩家加入通知(服务端→客户端) */
|
|
54
|
+
export declare const MSG_PLAYER_JOIN = "gw:player:join";
|
|
55
|
+
/** 玩家离开通知(服务端→客户端) */
|
|
56
|
+
export declare const MSG_PLAYER_LEAVE = "gw:player:leave";
|
|
57
|
+
/** 房间正在关闭通知(服务端→客户端) */
|
|
58
|
+
export declare const MSG_ROOM_CLOSING = "gw:room:closing";
|
|
59
|
+
/** 系统消息/公告(服务端→客户端) */
|
|
60
|
+
export declare const MSG_SYSTEM = "gw:system";
|
|
61
|
+
/** 错误消息(服务端→客户端) */
|
|
62
|
+
export declare const MSG_ERROR = "gw:error";
|
|
63
|
+
/** 房间迁移中通知(服务端→客户端) */
|
|
64
|
+
export declare const MSG_ROOM_MIGRATING = "gw:room:migrating";
|
|
65
|
+
/** 房间迁移完成通知(服务端→客户端) */
|
|
66
|
+
export declare const MSG_ROOM_MIGRATION_COMPLETE = "gw:room:migration:complete";
|
|
67
|
+
/**
|
|
68
|
+
* 所有内置消息类型的集合(用于类型检查)
|
|
69
|
+
*
|
|
70
|
+
* 提供两种访问方式:
|
|
71
|
+
* 1. MessageType.AUTH - 短名称
|
|
72
|
+
* 2. MessageType.MSG_AUTH - 完整名称(与导出常量一致)
|
|
73
|
+
*/
|
|
74
|
+
export declare const MessageType: {
|
|
75
|
+
readonly CONNECT: "gw:connect";
|
|
76
|
+
readonly MSG_CONNECT: "gw:connect";
|
|
77
|
+
readonly AUTH: "gw:auth";
|
|
78
|
+
readonly MSG_AUTH: "gw:auth";
|
|
79
|
+
readonly AUTH_OK: "gw:auth:ok";
|
|
80
|
+
readonly MSG_AUTH_OK: "gw:auth:ok";
|
|
81
|
+
readonly AUTH_FAIL: "gw:auth:fail";
|
|
82
|
+
readonly MSG_AUTH_FAIL: "gw:auth:fail";
|
|
83
|
+
readonly HEARTBEAT: "gw:heartbeat";
|
|
84
|
+
readonly MSG_HEARTBEAT: "gw:heartbeat";
|
|
85
|
+
readonly HEARTBEAT_ACK: "gw:heartbeat:ack";
|
|
86
|
+
readonly MSG_HEARTBEAT_ACK: "gw:heartbeat:ack";
|
|
87
|
+
readonly KICK: "gw:kick";
|
|
88
|
+
readonly MSG_KICK: "gw:kick";
|
|
89
|
+
readonly KICK_NOTIFY: "gw:kick";
|
|
90
|
+
readonly MSG_KICK_NOTIFY: "gw:kick";
|
|
91
|
+
readonly ROOM_JOIN: "gw:room:join";
|
|
92
|
+
readonly MSG_ROOM_JOIN: "gw:room:join";
|
|
93
|
+
readonly ROOM_JOIN_OK: "gw:room:join:ok";
|
|
94
|
+
readonly MSG_ROOM_JOIN_OK: "gw:room:join:ok";
|
|
95
|
+
readonly ROOM_JOIN_FAIL: "gw:room:join:fail";
|
|
96
|
+
readonly MSG_ROOM_JOIN_FAIL: "gw:room:join:fail";
|
|
97
|
+
readonly ROOM_LEAVE: "gw:room:leave";
|
|
98
|
+
readonly MSG_ROOM_LEAVE: "gw:room:leave";
|
|
99
|
+
readonly ROOM_LEAVE_OK: "gw:room:leave:ok";
|
|
100
|
+
readonly MSG_ROOM_LEAVE_OK: "gw:room:leave:ok";
|
|
101
|
+
readonly ROOM_CREATE: "gw:room:create";
|
|
102
|
+
readonly MSG_ROOM_CREATE: "gw:room:create";
|
|
103
|
+
readonly ROOM_CREATE_OK: "gw:room:create:ok";
|
|
104
|
+
readonly MSG_ROOM_CREATE_OK: "gw:room:create:ok";
|
|
105
|
+
readonly ROOM_CREATE_FAIL: "gw:room:create:fail";
|
|
106
|
+
readonly MSG_ROOM_CREATE_FAIL: "gw:room:create:fail";
|
|
107
|
+
readonly ROOM_JOIN_OR_CREATE: "gw:room:join-or-create";
|
|
108
|
+
readonly MSG_ROOM_JOIN_OR_CREATE: "gw:room:join-or-create";
|
|
109
|
+
readonly ROOM_LIST: "gw:room:list";
|
|
110
|
+
readonly MSG_ROOM_LIST: "gw:room:list";
|
|
111
|
+
readonly ROOM_LIST_OK: "gw:room:list:ok";
|
|
112
|
+
readonly MSG_ROOM_LIST_OK: "gw:room:list:ok";
|
|
113
|
+
readonly ROOM_CLOSING: "gw:room:closing";
|
|
114
|
+
readonly MSG_ROOM_CLOSING: "gw:room:closing";
|
|
115
|
+
readonly RECONNECT: "gw:reconnect";
|
|
116
|
+
readonly MSG_RECONNECT: "gw:reconnect";
|
|
117
|
+
readonly RECONNECT_OK: "gw:reconnect:ok";
|
|
118
|
+
readonly MSG_RECONNECT_OK: "gw:reconnect:ok";
|
|
119
|
+
readonly RECONNECT_FAIL: "gw:reconnect:fail";
|
|
120
|
+
readonly MSG_RECONNECT_FAIL: "gw:reconnect:fail";
|
|
121
|
+
readonly STATE_FULL: "gw:state:full";
|
|
122
|
+
readonly MSG_STATE_FULL: "gw:state:full";
|
|
123
|
+
readonly STATE_DELTA: "gw:state:delta";
|
|
124
|
+
readonly MSG_STATE_DELTA: "gw:state:delta";
|
|
125
|
+
readonly PLAYER_JOIN: "gw:player:join";
|
|
126
|
+
readonly MSG_PLAYER_JOIN: "gw:player:join";
|
|
127
|
+
readonly PLAYER_JOINED: "gw:player:join";
|
|
128
|
+
readonly MSG_PLAYER_JOINED: "gw:player:join";
|
|
129
|
+
readonly PLAYER_LEAVE: "gw:player:leave";
|
|
130
|
+
readonly MSG_PLAYER_LEAVE: "gw:player:leave";
|
|
131
|
+
readonly PLAYER_LEFT: "gw:player:leave";
|
|
132
|
+
readonly MSG_PLAYER_LEFT: "gw:player:leave";
|
|
133
|
+
readonly SYSTEM: "gw:system";
|
|
134
|
+
readonly MSG_SYSTEM: "gw:system";
|
|
135
|
+
readonly ERROR: "gw:error";
|
|
136
|
+
readonly MSG_ERROR: "gw:error";
|
|
137
|
+
readonly ROOM_MIGRATING: "gw:room:migrating";
|
|
138
|
+
readonly MSG_ROOM_MIGRATING: "gw:room:migrating";
|
|
139
|
+
readonly ROOM_MIGRATION_COMPLETE: "gw:room:migration:complete";
|
|
140
|
+
readonly MSG_ROOM_MIGRATION_COMPLETE: "gw:room:migration:complete";
|
|
141
|
+
};
|
|
142
|
+
/**
|
|
143
|
+
* 消息类型的类型定义
|
|
144
|
+
*/
|
|
145
|
+
export type MessageTypeValue = typeof MessageType[keyof typeof MessageType];
|
|
146
|
+
/**
|
|
147
|
+
* 判断是否为框架内置消息(字符串类型)
|
|
148
|
+
* 内置消息以 'gw:' 开头
|
|
149
|
+
*/
|
|
150
|
+
export declare function isBuiltinMessageType(type: string): boolean;
|
|
151
|
+
/**
|
|
152
|
+
* 判断是否为房间管理消息(字符串类型)
|
|
153
|
+
*/
|
|
154
|
+
export declare function isRoomManagementMessageType(type: string): boolean;
|
|
155
|
+
/**
|
|
156
|
+
* 判断是否为状态同步消息(字符串类型)
|
|
157
|
+
*/
|
|
158
|
+
export declare function isStateSyncMessageType(type: string): boolean;
|
|
159
|
+
/**
|
|
160
|
+
* 判断是否为连接层消息(字符串类型)
|
|
161
|
+
*/
|
|
162
|
+
export declare function isConnectionMessageType(type: string): boolean;
|
|
163
|
+
/**
|
|
164
|
+
* 旧消息ID到新消息类型的映射
|
|
165
|
+
* @deprecated 用于过渡期兼容
|
|
166
|
+
*/
|
|
167
|
+
export declare const MessageIdToType: Record<number, string>;
|
|
168
|
+
/**
|
|
169
|
+
* 新消息类型到旧消息ID的映射
|
|
170
|
+
* @deprecated 用于过渡期兼容
|
|
171
|
+
*/
|
|
172
|
+
export declare const MessageTypeToId: Record<string, number>;
|
|
173
|
+
//# sourceMappingURL=message-type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-type.d.ts","sourceRoot":"","sources":["../../src/protocol/message-type.ts"],"names":[],"mappings":"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"}
|