Multiplayer packets - Server info

Research related to Arcanum and it's game engine.
Arronax's Best Friend
User avatar
Arronax's Best Friend
ArcanumAlive Developer
Posts: 418
Joined: Wed Jul 08, 2009 5:04 am
Location: Abyss

Multiplayer packets - Server info

Postby Crypton » Mon Jul 27, 2009 12:41 pm

After a bit of researching, I’ve found almost complete structure of server info packet, this packet is broadcasted by server at port 31434 via UDP packet and its size is always 332 bytes.

This is arcanum packet header:
Code: Select all
WORD Type; // for server info packet, its 0×0219
WORD Size; // size of whole packet, including header
DWORD ReplyType; // Type of reply packet

After header, there are data, in this case its server info:
Code: Select all
char GameName[23];
char ModuleName[23];
WORD Unknown1;
DWORD GameType; // Check below
DWORD MinLevel;
DWORD MaxLevel;
DWORD MaxPlayers;
DWORD PlayerCount; // Number of players connected to server
sockaddr_in ServerAddress; // Socket address
DWORD UpTime; // How long is server running
DWORD Unknown2; // Ping ?
DWORD GameFlags; // Check below

Definition of player info struct:
Code: Select all
DWORD Unknown; // Maybe its index or id
char PlayerName[24];

Game types:
Code: Select all
0 = ”Free for all”
1 = ”Cooperative”
2 = ”Roleplay”

Game flags:
Code: Select all
0×00000001 = IsPlayerKilling
0×00000002 = FriendlyFire
0×00000004 = PrivateChat
0×00000008 = IsPasswordProtected
0×00000010 = AutoJoin
0×00000020 = AutoEquip
0×00000040 = KeySharing

If you find what means that unknown values, please let me know, I’ll update this post and credit you as well!


Return to Research

Who is online

Users browsing this forum: No registered users and 1 guest