+/* server control 100 */
+
+
+/* player updates 200 */
+
+/* client -> remote */
+typedef struct netmsg_playerframe netmsg_playerframe;
+enum{ k_inetmsg_playerframe = 200 };
+struct netmsg_playerframe{
+ u32 inetmsg_id;
+ u8 client, subsystem;
+ u8 animdata[];
+};
+
+/* remote -> client */
+typedef struct netmsg_playerjoin netmsg_playerjoin;
+enum{ k_inetmsg_playerjoin = 201 };
+struct netmsg_playerjoin{
+ u32 inetmsg_id;
+
+ u32 index;
+ char username[32]; /* UNUSED */
+ char playermodel_uid[76]; /* UNUSED */
+ char board_uid[76]; /* UNUSED */
+};
+
+
+/* remote -> client */
+typedef struct netmsg_playerleave netmsg_playerleave;
+enum{ k_inetmsg_playerleave = 202 };
+struct netmsg_playerleave{
+ u32 inetmsg_id;
+ u32 index;
+};
+
+/* client <-> remote */
+typedef struct netmsg_playerusername netmsg_playerusername;
+enum{ k_inetmsg_playerusername = 203 };
+struct netmsg_playerusername{
+ u32 inetmsg_id;
+ u32 index;
+ char username[32];
+};
+