## 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