OK blue, seriously, this autologout crap has axxed me from posting a bunch of times, please set the timer higher....
Anyhow this is a rundown on how joining a game through novaworld works, and how with some work we can make C4 join by IP, as well as host our own game join lists without the need for novaworld logins or novaworld to even be in existence.
So how does it work?
1. You click on join game in the multiplayer menu and the "Integrated Browser" aka IBGL loads the login page for novaworld.
2. You login to novaworld and are presented with the main menu.
3. Clicking on Gameservers causes IBGL to download the game list GLB Data from:
http://nw4.novaworld.net/c4_2.glb
This is the GLB Data Sampled at 5:28 AM Arizona Time Sept 23, 2012, at the time two servers were up, Rat Cage, and C4V
Code:
00000000 48 71 C1 0D DB 91 A7 E4 B2 30 2F 0C F8 71 FC C3 AF Hq.‘0/.qï
00000011 D5 27 AB 65 4A 5C 97 0D 86 7C 82 B6 24 9E 77 62 A5 'eJ\—.†|‚$žwb
00000022 D5 50 0D 0B 0B 39 C2 62 33 30 5B 0E A5 6B 50 D7 88 P...9b30[.kPˆ
00000033 0E BB A2 B3 F7 71 52 4D 55 8F DB 73 1C 23 59 8F C3 .qRMUs.#Y
00000044 6E 54 61 9C 60 1E 04 EA 22 A2 2F E1 67 94 E8 72 10 nTaœ`.."/g”r.
00000055 56 7D CD 3A CB AE B1 CB 2C E1 94 25 42 8D 1A CE 0A V}:ˮ,”%B..
00000066 1B 76 E3 8F 5B E8 25 89 23 D1 2A 61 AC 41 D8 D2 E7 .v[%‰#*aA
00000077 BE 1D D5 A0 A6 20 8F 43 DF F5 F8 79 E0 A3 81 19 67 .* Cyࣁ.g
00000088 DA 84 42 9F EB 50 E2 97 92 C9 14 81 E6 C1 D7 14 7F „BŸP—’..
00000099 80 69 77 8D ED 91 58 53 FA 57 DB 95 63 DC 28 B0 4D €iw‘XSW•c(M
000000AA 1C 21 58 B4 CE A7 92 B8 05 C3 AC 96 A9 DD 64 06 63 .!XΧ’.ì–d.c
000000BB 60 8B F8 8C A3 A7 D4 B8 3E EB C6 E3 68 08 94 18 13 `‹ŒԸ>h.”..
000000CC 49 A6 31 42 33 70 9B CE 9E 84 91 D8 49 ED C7 B7 FE I1B3p›ž„‘IǷ
000000DD 59 EF AC 97 C4 18 A2 40 39 44 8B F7 92 6F 75 AD FB Y—.@9D‹’ou*
000000EE A4 62 55 72 BD 4E FE E8 E6 44 AA 50 1D 1E 55 B9 53 bUrNDP..US
000000FF 08 0A 25 7B 00 A3 90 A4 F7 4C 05 D0 E0 03 5E FB CA ..%{.L..^
00000110 B9 C7 30 AE 61 3E 4D C8 66 E2 7F 6F CA C8 AC 91 81 0a>MfoȬ‘
00000121 C8 13 A3 36 1E 07 98 14 BD 9D 5A 9C 1E 5C 63 81 8D .6..˜.Zœ.\c
00000132 FB 74 28 B3 FF 69 E2 6D 3E 44 82 E5 FE 21 37 56 9C t(im>D‚!7Vœ
00000143 1C D2 51 9B 99 53 EF 93 E9 BB 59 F0 86 B2 9D 2B AF .Q›™S“Y†+
00000154 69 F6 13 8C F1 8F 7D 7D AD 09 9B 60 59 4C D0 23 CE i.Œ}}*.›`YL#
00000165 B8 F3 58 A7 2A 8D CA D9 8C 73 24 0C 14 9A 13 C4 89 X*Œs$..š.‰
00000176 B7 FB 6E 07 9F E7 2A 2B 1C F0 FC 03 56 E3 8F 86 36 n.Ÿ*+..V†6
00000187 B7 49 EC B6 AC E6 62 83 7B AF C3 12 94 38 C0 04 1E I춬bƒ{.”8..
00000198 AD 67 00 5F 33 BF 5F EF 37 F7 A3 1C DF 6E 79 FB 5A *g._3_7.nyZ
000001A9 14 D8 F5 18 7F 13 C8 C5 B5 67 D5 9E 79 37 74 DF 8C ...ŵgžy7tŒ
4. The "Integrated Browser" IBGL decodes that into a HTML style document and makes links in the form of the following:
http://nw4.novaworld.net/c4_2_join.joi?RID=67108867 - This was C4Vs Join Link at the sample time, making a start page for C4 with this as a hyperlink auto joins that server.
Here is a RAM Dump of C4 with the integrated Browser sitting on the Game list, While you see the RID in the lower area
and "The Rat Cage" at the top, the RID listed is actually for C4V, the IBGL is messy organizationally in ram.
Code:
07F75E78 01 0B 01 54 ...T
07F75E89 48 45 20 52 41 54 20 43 41 47 45 00 00 00 00 03 00 HE RAT CAGE......
07F75E9A 03 00 6F 01 09 01 43 6F 61 73 74 20 74 6F 20 43 6F ..o...Coast to Co
07F75EAB 61 73 74 00 00 02 00 03 00 6A 01 0C 01 78 5D F7 07 ast......j...x].
07F75EBC 00 02 8A 02 04 00 02 00 64 01 0C 01 01 00 00 00 D0 ..Š.....d.......
07F75ECD 90 F7 07 20 00 00 00 00 00 00 00 30 1B F8 07 00 00 . .......0....
07F75EDE 01 00 03 00 04 00 60 01 0C 01 50 6C 61 79 65 72 73 ......`...Players
07F75EEF 20 3A 20 30 00 68 74 6D 00 02 00 03 00 63 01 0C 01 : 0.htm.....c...
07F75F00 C8 5E F7 07 00 02 8A 02 02 00 02 00 5D 01 0E 01 4E ^...Š.....]...N
07F75F11 00 F7 07 3A 2F 2F 00 05 00 02 00 5F 01 0C 01 69 62 ..://....._...ib
07F75F22 63 6D 64 3A 2F 2F 63 75 72 69 62 64 6C 6C 3F 63 6D cmd://curibdll?cm
07F75F33 64 3D 72 65 6C 6F 61 64 00 00 00 00 00 08 00 05 00 d=reload.........
07F75F44 54 01 0C 01 68 74 74 70 3A 2F 2F 6E 77 34 2E 6E 6F T...http://nw4.no
07F75F55 76 61 77 6F 72 6C 64 2E 6E 65 74 2F 63 34 5F 32 5F vaworld.net/c4_2_
07F75F66 6A 6F 69 6E 2E 6A 6F 69 3F 52 49 44 3D 36 37 31 30 join.joi?RID=6710
07F75F77 38 38 36 37 00 00 00 00 00 02 00 08 00 4C 01 08 01 8867.........L...
07F75F88 52 61 74 74 6C 65 72 00 0D 00 02 00 4E 01 08 01 0E Rattler.....N....
07F75F99 00 00 00 15 00 00 00 E2 02 00 00 56 00 00 00 00 00 ..........V.....
07F75FAA 00 00 0F 00 00 00 00 00 00 00 03 06 06 00 00 00 00 .................
07F75FBB 00 00 ..
5. OK so we clicked on C4Vs server to join, now what happens, IBGL follows the hyperlink with the RID
code provided by GLB Data and novaworlds servers respond with the IP address, Port, and 3 other pieces of
data im not sure the meaning of. See the code below, More closely the <TITLE> section. When IBGL sees
that string of code, it activates a join function with it.
Provided are five pieces of information, Only NK and CK are needed to join....the others seem to have no purpose.
NK=iifnkhilfhfnkjkjs - Encoded Gameserver IP and Port = 50.92.46.13:17479 - Use "Real IP for DF:LW" in the downloads section to decode
CK=lmpk - Checksum to join, like a server password. UPDATE: The Checksum from yesterday is still good, so it must only be regenerated after a server restart.
NI=72.67.0.54 - IP of the novaworld server that originated the GLB Data. Not Required
NP=3875 - Server Port Number?? Not Required
BK=293036 - Unknown Not Required
Code:
<HTML>
<HEAD>
<META http-equiv="refresh" CONTENT="10;URL=c4_2_jend.htm">
<META NAME="Author" CONTENT="Eric Milota">
<TITLE>
[NK=iifnkhilfhfnkjkjs&CK=lmpk&NI=72.67.0.54&NP=3875&BK=293036&]
</TITLE>
</HEAD>
<BODY TEXT="#FFFFFF" BGCOLOR="#1A1D5F" LINK="#EA8D35" VLINK="#EA8D35" ALINK="#D50B08">
<FONT SIZE="-1">
<br>
<CENTER><P><I><FONT SIZE=+2>Joining - C4V -...</FONT></I></P>
</CENTER>
<CENTER><FONT SIZE=+1>
<p>If you don't automatically join the game, it could be due to one of
the following reasons:
<br>1) there is not enough time left in the game
<br>2) the game does not have room for any more players
<br>3) the sysop has locked the game from further player joins
</p>
<A HREF="c4_2_lobby.htm">Cancel</A><BR>
</FONT>
</CENTER>
<CENTER>
<FONT SIZE=-1>
Please send all problem reports to support@novalogic.com<BR>
</FONT>
</CENTER>
</BODY>
</HTML>
Update:By simply pasting the last code box into my startup file, C4 auto joins C4V as soon as i click join and the IBGL loads. No Login, No Mess around...
This is how we can do it, Make a page for each server with the adequate code added, and make a menu that links to each of those pages. Also add a link to the bottom that goes to the default novaworld login page so both methods are usable.
The end game goal tho, would be to have a PHP script that can log itself into novaworld, and decode the GLB data, and automatically create and update OUR join pages....