The following code is not ready for release yet, but may serve to speed up the Activision patch reimplementation.
The set-up I have used consists of a patched Activision host creating the game, and a debugger client connecting to the game over a TCP/IP LAN. In this way, I was able to find some database and message format mismatches, without really knowing what the extra data is supposed to do. Where possible, I have tried to make some guesses about the "unknown from patch" data, but I have not played very far yet - so this will have to be confirmed.
And this will probably go much faster when more people will try to make it crash .
net\general\net_city.cpp:
Added some code to handle city packet changes.
net\general\net_feat.h
net\general\net_feat.cpp
net\general\network.cpp
Provisional feat tracking code added.
To make it work, you have to add net_feat.cpp and net_feat.h to the project (not included).
Edit: link removed, moved to the altered source code.
The set-up I have used consists of a patched Activision host creating the game, and a debugger client connecting to the game over a TCP/IP LAN. In this way, I was able to find some database and message format mismatches, without really knowing what the extra data is supposed to do. Where possible, I have tried to make some guesses about the "unknown from patch" data, but I have not played very far yet - so this will have to be confirmed.
And this will probably go much faster when more people will try to make it crash .
net\general\net_city.cpp:
Added some code to handle city packet changes.
net\general\net_feat.h
net\general\net_feat.cpp
net\general\network.cpp
Provisional feat tracking code added.
To make it work, you have to add net_feat.cpp and net_feat.h to the project (not included).
Edit: link removed, moved to the altered source code.
Comment