Latest 2.60b Enemy Territory server patch with 2.55 client backward compatibility

In order to the regular latest 2.60b Server patch http://www.splashdamage.com/content/wolfenstein-enemy-territory-barracks/ i noticed the high amout of version 2.55 running servers
in the Enemy Territory community.
Due the intolerable issues and bugs on servers running with this outdated 2.55 server i decided to try some reverse engineering on the baseline of the newest
server version 2.60b with the goal to allow older clients to connect to a 2.60b based server version (but shown as 2.55 version in game browser).


Some notable advantages:

+ many security and bug fixes
+ less cpuload
+ more server stability and performance


How patch to 2.55+:

You need a 2.55 installation of your server

Replace the original et.x86/et.exe with the patched etded.x86/etded.exe

Pay attention to your start scripts to set the right target to etded.xxx instead of et.xxx!!!


Update: Fixed issue with Punkbuster kicks (protocol error) works only with 2.55 clients

2.55+ Enemy Territory server patch (only 2.55 clients are allowed to connect)

Download Windows binaries - ETDED.zip

Download Linux binaries - ETDED.zip

2.55+ Enemy Territory server patch (every client versions are allowed to connect)

Download Windows binaries - ETDED.zip

Download Linux binaries - ETDED.zip


NO WARRANTY

Technical details

Enemy Territory ETDED.exe assembly dump

Follow images are showing the main interesting addresses gained with the odbg disassembler software

Client protocol check Serverinfo (sended to master) Serverinfo (sended to master) Demo file extension (dm_82 | dm_84)

82(52 Hex) protocol id for 2.55 server version

84(54 Hex) protocol id for 2.60b server version

- Basically there is only required to change some hexadecimal constants representing the protocol number (CMP ESI,54 or PUSH 54) in the "ETDED.exe" assembly given
in above snaps of assembler code.

- To bypass the server side client version there is the possibilty to change in given address the conditional jump 00420B97: JE ........ to a unconditional
jump 00420B97: JMP ........

Want to contact me?(in game [=1]asm.x11) ---- Send a mail to equalone [at] gmx [dot] at