the goal of this project will be to force a player client to think it's the server client, that can probably be done easily in cheat engine, however if it doesn't have the ability to do the basic battle and record figuring due to a lack of serverside calculations, then;
I have no idea what you're trying to say here. "server client" is a contradiction in terms. The stuff that is missing exists only serverside, so there's no way to fool a client in order to do it -- you have to re-implement those things from scratch.
Off the top of my head, most of the powers execution and combat exists only serverside and needs to be rewritten. A few small pieces are on the client in order to display real numbers, but not the part that actually applies those attributes to characters.
Physics and collision also happen on the server and need to be reproduced exactly to match up with the client's prediction code to avoid rubber banding. That of course also means it needs to be able to read and parse map and geometry files.
The client does share some of that with the server (even though the server's calculations 'win') for motion prediction and some limited animation prediction, so it could possibly be gleaned from there as a last resort. It would take some serious reverse engineering with tools like OllyDbg and/or code analysis tools. Poking around with static memory in cheat engine isn't going to make it magically act as a network server.
so the idea here is to monitor the game's calls for serverside calculations and write scripts that fill those gaps, then repackage them into the original file.
Serverside calculations happen well... serverside. So you won't be able to monitor them.
we can probably use codewalker's Icon to begin the hacking to make it work.
Icon is a simple hack and is tangential to a real network server. If done properly no modifications to the client are necessary.
once kinks have been worked out load more maps onto your 'server' you might need 1 Computer for each map (atlas park ETC. not mission maps, mission maps can be on thier own computer all at once)
Not even the official servers used a dedicated machine for each map; the best way to do it is with a watchdog process that dynamically balances and decides which server to start up a new map on (so you might have a dozen or so per server depending on load).
once you have enough of the game on servers, now it's time to go back and set-up IP addresses instead of ethernet addresses, IP addresses will allow others to connect from any computer accessing the internet.
Simply using IP from the start would be approximately 73% less work than implementing a new layer 3 protocol just to replace it with UDP later.
if anyone is interested in going through with this, then post here, cause I wont be doing it allone lol.
I hear that the SEGS crew is working on reproducing a network server and has made some very good progress. Rumor has it there's also a second group that's being unnecessarily secretive about their work, but gathered a large number of packet captures before the game shut down. That's completely unsubstantiated though.