aboutsummaryrefslogtreecommitdiff
path: root/src/server_dev/auto/cmd/room.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/server_dev/auto/cmd/room.rs')
-rw-r--r--src/server_dev/auto/cmd/room.rs33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/server_dev/auto/cmd/room.rs b/src/server_dev/auto/cmd/room.rs
new file mode 100644
index 0000000..79786ef
--- /dev/null
+++ b/src/server_dev/auto/cmd/room.rs
@@ -0,0 +1,33 @@
+pub fn create_room_id_redirect_command(room_name: &str, room_id: usize) -> Vec<u8> {
+ let mut room_id_redirect = vec![
+ 0x01, // ?
+ 0x1A, // Command type
+ ];
+
+ // room_id_redirect.push(room_id_redirect.len() as u8 + 1); // Data length
+ 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
+ for byte in 5673_u16.to_be_bytes().iter() {
+ room_id_redirect.push(*byte);
+ }
+
+ room_id_redirect.insert(0, room_id_redirect.len() as u8 + 1); // Data length
+
+ room_id_redirect
+}