i think you guys should really attempt an mgs3 server requiring no patches.
No offense, but do you really think needing cheats was desirable and that we just had never thought to try building a server without needing them?
Its not that it isn't possible its that we haven't figured out how to do it but in theory its possible.
The first problem is DNAS. DNAS has been shutdown by Sony so no games can get through it. What we do right now is use a patch to skip DNAS. If we wanted to get by without using any patch we would need to recreate the DNAS servers. Fortunately in the last couple years there has actually be some progress on this end with the DNASrep project by the_fog. However I was unable to get it to work with the packet capture we have for MGO1. There is hope, but at the present it is not possible.
Next problem is HTTPS, you might be familiar with HTTPS as the green padlock in your browser when you visit a website using the protocol to enable encryption on the connection. When you attempt to establish an HTTPS connection with any website it will fetch some information from the server ahead of time. And then, unless disabled it will validate that information in fetched. The important thing in our case is that it expects a certificate to be owned by mgs3web.konamionline.com (mgs3web) and to be signed by trusted certificate authority (CA). Though we can create a certificate that claims to be from mgs3web pretty easily having it signed by a CA is not easy, in-fact if any CA were to mistakenly sign our certificate without actually validating that we own the konamionline.com domain (we don't, konami does) they could quite literally find themselves out of business. Their whole business is validating the certificates they signed, thus they are a trusted authority. MGO1 has a list of trusted authorities and checks them before connecting. If we don't have a valid certificate signed by a CA it trusted it will simply kill the connection there.
To solve this one can try to get the CA to legitimately issue a certificate to us for the domain we don't own, but thats honestly not going to happen. We can also attempt to fake the signature of a trusted CA, this is possible but it also involves doing reversing a trusted CA's public key into its private components, this is computationally difficult problem and not being able to go from public key to private key is the basis of public key cryptography so in theory we could discover a new cryptographic break but its highly unlikely given the past 40 years of cryprographic research into doing so. We could also hope a cert is leaked that we could use, but that is not likely either. There are a few other options but effectively its just not feasible to break HTTPS.
Instead we just replace https:// with http:// using a patch and carry on.
Lastly is the ingame User Stats request. This is the request that happens if you are ingame and got to the 'Personal Stats' page. It also happens right before you join a game. It also happens right before you join a game, so you can create a game without it but without an accepted response to it you cannot join one. The issue here is that this was not a packet included in the one packet capture we have from MGO1 so its one of the many requests that we had to reverse engineer. It does not follow patterns we see in other packets, it is a unique packet compared to anything we've figured out. Though we've managed to RE several of the other packets including requests for host information and game info which happen when you try to join a game the Stats packet has been elusive. So we patch out the call to that function and just return success.
In order to have a patchless experience we would have to solve these three problems. Or something I've spent more time on is that if we could find a exploit in code the executes prior to or during the early DNAS stage one could use an exploit add add the patches at play-time. This would be an ideal situation as it would allow us to do more complicated patches (like custom maps) without requiring a cheat disk. The problem is all of the exploitable pieces of code I have found exist after DNAS and the first HTTPS connection, the earliest one I've found is actually in the first HTTPS connection.
This is something I still regularly take a weekend here and there to work on solving.
but for people with backwards compatible PS3s. being able to play MGO1 on my BC 40gb would be off the wall dude
You can play with a BC PS3. You need a cheat disk though, neither action replay nor gameshark worked for me, but my Codebreaker did work on PS3 (for PS2 games ofc). The only catch was you had to disable auto-eject inside Codebreaker, and just hit the button on the console to eject the disk when it told you to switch. Other than that PS3 works fine, infact during much of the development for the server I was using my PS3. It looks like the PS3 regarding getting on with a PS3 was never moved here after ghz moved the forums.