This is how much I currently know:
Name and other data
U.S.G.N. verification
Transfer List
connect
Spray transfer
joinI would be grateful if anyone can assist me in completing the list.
General
Join Process Tasks
Join Process Tasks
1

Name and other data
U.S.G.N. verification
Transfer List
connect
Spray transfer
join
name; <type_$>
ip; <type_i>
port; <type_s>
usgnid; <type_l>
usgnname; <type_$>
usgncountry; <type_$>
usgnmode; <type_i>
steamid; <type_l>
steamname; <type_$>
steamcountry;<type_$>
steamos; <type_i>
send/receive/check auth code stuff (a poor verification that it's a real client)
send basic data (name, pw, cl version, USGN, Steam, some settings, ...). This is also the step where joining players are declined by the server e.g. because there's no space or the password is missing/wrong
optional: U.S.G.N. login verification
map checksum check and optional map- & file transfer
post file transfer checks, send additional data (server settings and all other server data e.g. dynamic objects, projectiles, hostages, spraylogos etc.), invoke
connect hook
when client confirms that the map was loaded and all data was received: invoke
join hook
connect is only executed with the very last step (when all data is sent or better: scheduled to be sent).
join hook is called directly after the
connect hook. The only difference is that the player then already confirmed that it received all data and loaded the map. In real world scenarios there shouldn't be much time between the invocation of both hooks because both are invoked only after file transfers (which take the most time when joining a server). If the client is slow however and takes long to load the server data and/or the map there might be a bigger delay.
connect_attempt hook?
1
