diff options
| author | Fuwn <[email protected]> | 2021-03-22 17:45:35 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2021-03-22 17:45:35 +0000 |
| commit | 13edb02ff4be35fa9a30e783d4a1e8bed323e0f2 (patch) | |
| tree | 628865084867c3f2c5449f7682a6e833dd998004 /src/server/world/cmd | |
| parent | fix: Only send to one client not all for certain commands (diff) | |
| download | whirl-13edb02ff4be35fa9a30e783d4a1e8bed323e0f2.tar.xz whirl-13edb02ff4be35fa9a30e783d4a1e8bed323e0f2.zip | |
etc: ...
Diffstat (limited to 'src/server/world/cmd')
| -rw-r--r-- | src/server/world/cmd/mod.rs | 1 | ||||
| -rw-r--r-- | src/server/world/cmd/room.rs | 27 |
2 files changed, 28 insertions, 0 deletions
diff --git a/src/server/world/cmd/mod.rs b/src/server/world/cmd/mod.rs new file mode 100644 index 0000000..addf7a5 --- /dev/null +++ b/src/server/world/cmd/mod.rs @@ -0,0 +1 @@ +pub mod room; diff --git a/src/server/world/cmd/room.rs b/src/server/world/cmd/room.rs new file mode 100644 index 0000000..e41e30f --- /dev/null +++ b/src/server/world/cmd/room.rs @@ -0,0 +1,27 @@ +pub fn create_room_id_redirect_command(room_name: &str, room_id: &i32) -> Vec<u8> { + let mut room_id_redirect = Vec::new(); + // room_id_redirect.push(room_id_redirect.len() as u8 + 1); // Data length + room_id_redirect.push(0x01); // ? + room_id_redirect.push(0x1A); // Command type1 + room_id_redirect.push(room_name.len() as u8); // UTF/ room name length + for i in room_name.bytes() { room_id_redirect.push(i); } // Push `room_name` + // for i in "<dimension-1>".bytes() { room_id_redirect.push(i); } // Push room number + + // Room number + room_id_redirect.push(0x00); + room_id_redirect.push(*room_id as u8); + + // IP + room_id_redirect.push(0x00); + room_id_redirect.push(0x00); + room_id_redirect.push(0x00); + room_id_redirect.push(0x00); + + // Port + room_id_redirect.push(0x16); + room_id_redirect.push(0x29); + + room_id_redirect.insert(0, room_id_redirect.len() as u8 + 1); // Data length + + room_id_redirect +} |