Grand Prix 4 Online

Posted by xSilvermanx 
Grand Prix 4 Online
Date: October 15, 2013 12:12AM
Posted by: xSilvermanx
Hey there,

yes, it's the next thread on a subject that will never get real. Just wanted to put this before everything else, it's not the generic "pls make online-GP4 happen". Instead it's a theory of mine I mentioned in another thread but never was and will be able to prove right or wrong. Now another thing to tell you first: I'm not a programmer, I exactly know nothing about programming, coding languages and the whole topic. So everything I'll be putting here is based on the very few things I know about computer programming in general and things I'd consider consequential (whether they are true or not). So I'd need someone with coding-skills and knowledge on network-techniques etc to read what I think and disprove it (because how on earth could I get something like this right, if I can't even code Hello World properly?). Still posting this because I want to resolve the question whether it's possible or not, something I can't do on my own, also because of no time, just began my studies.

I'm gonna start with an assumption. Grand Prix 4 is a kinda old game being more than 10 years of age. Things were developing at that time and when FIA forbade Geoff Crammond to include an online-mode to Grand Prix 4 he disabled it. Now my assumption is that the deactivation was made by simply sending too much data through the internet to each participiant of the race, thus making online-driving impossible. Doing this he successfully disabled online-race because connections are really slow, while allowing LAN-races to be held because of fast LAN-connections.
Up to this point everything should be right. Online-racing was afaik disabled by flooding the connection with packages, making GP4 extremly slow in it. This may have been mentioned in quite a few posts and threads about this topic.
Now something, I'm outright guessing here, would be: As GP4 is that old it should not be using changing data-packages that flood the connection but rather the same packages the whole time. Reading out the data traffic could show those files that never change. A encryption shouldn't be a problem here as you could compare the encrypted data (assuming that is possible).
Is it possible to read out the data traffic and make conclusions that could prove / disprove my assumptions? For the next paragraph I'm gonna assume the answer to this question is yes. If you know it's not possible, you can stop reading here and post that below :-p
Reading out the data would work in the way that several people connect to race for a certain time. They'd have to change hosts, mods and tracks so one could try to find how the traffic is built up (if it's necessary / possible).
After everything was validated one could write the program. It would interpose the GP4-connection to the internet, filtering everything GP4 wants to send. That way it could filter those static files that only flood the traffic and only send those necessary to racing. It would also automatically generate the static files and send them together with the important part of the package to GP4. This way GP4 would still get the full packages however it'd not get too much unnecessary data.

Hope you could follow me the whole time. I know it's a subject that has been discussed hundreds of times before still I'm gonna open yet another new thread.

Last things last: I know that several times the bad network-code of GP4 was mentioned. Obviously I can't understand what this exactly means but as you may have read before I have taken a different approach at the problem. Can't tell whether it's right or has any base but that's why I'm posting it.
Hope to hear from you soon.
Greetings
Sebastian
Re: Grand Prix 4 Online
Date: October 15, 2013 08:10AM
Posted by: mortal
An interesting theory, however in order to prove/disprove the theory, wouldn't the source code be required?


[www.mediafire.com] Some say you should click it, you know you want to. :-) [www.gp4central.com] <----GP4 Central
Re: Grand Prix 4 Online
Date: October 15, 2013 04:20PM
Posted by: xSilvermanx
I'd say no, you could just read out everything that is sent. If I am not mistaken, the files sent are static and thus should be the same for everyone, even encrypted (or would the encryption change every few seconds or stuff? I don't know.). However I'm not even sure whether the traffic can be read out. If not, nothing I wrote is going to work.
Re: Grand Prix 4 Online
Date: October 15, 2013 09:41PM
Posted by: mortal
Only the traffic sent from the host can be read by the machine it is being sent to. If you say the bulk of it is being discarded, where is it going? I would say it is not possible, however I really have no idea what I'm talking about and this problem would require a computer scientist to figure it out.
This subject does require some in depth research, and people more knowledgeable that you and I are needed look at this.


[www.mediafire.com] Some say you should click it, you know you want to. :-) [www.gp4central.com] <----GP4 Central
Re: Grand Prix 4 Online
Date: October 16, 2013 10:06PM
Posted by: xSilvermanx
yup, that's the main problem. If there is anyone reading this, please post your opinion on that matter. Even if you don't want to do any research, spontaneous feedback of a developer or anyone experienced in programming would be great. While I know that, if it actually was possible, it would be way too much work to be practical. However it would be great to hear whether this was possible or not and where the mistakes and problems are.
Sebastian
Re: Grand Prix 4 Online
Date: October 17, 2013 11:56AM
Posted by: EricMoinet
I'm not a computer scientist so I can't say anything about your ideas. However, there is an option in GPxPatch to play the game over the internet (for two PCs only, never tested it though). So maybe some specialist should have a look there to see what's possible for extend it to more users at the same time.



Re: Grand Prix 4 Online
Date: October 17, 2013 03:43PM
Posted by: mortal
Using the program Wireshark, You can record and playback the network data packets being sent. There are video tutorials on how to use the software. This program can capture network data for analysis.

I would set up two machines and run GP4 on a hard wired LAN, and use the Wireshark to track, measure and analyze the data.

Then the same test could be done using a WAN protocol, then the data from the tests could be compared, to assess the difference in the packet rate. If it is a flood that is happening on a WAN, then it may be possible to implement a filter.
However it is only conjecture at this point as to whether there is excess data being sent to flood the other machine, it may be something else entirely.
It's really only an assumption because of the lag involved on a WAN.

An alternate possibility is that a large portion of the data is missing, whether that could cause lag I don't know. We know that LAN works, and it must require X amount of data sent and received in order to function correctly.
The packet test will show if the same or different amount of data is being sent and or received. Unfortunately, I do not have the setup to run this test myself, because I'm sure the result would be quite interesting.

Regarding the option in gpx_patch, it is there because the option is in GP4, regardless of the fact that it has resisted all efforts to function properly. Where it to do so, the option in gpx would merely inject your ip/host data to GP4. That is how I see it.


[www.mediafire.com] Some say you should click it, you know you want to. :-) [www.gp4central.com] <----GP4 Central



Edited 1 time(s). Last edit at 10/17/2013 03:48PM by mortal.
Re: Grand Prix 4 Online
Date: October 17, 2013 05:13PM
Posted by: klausfeldmann
Thanks @ xSilvermanx for thinking seriously about this topic (Y).

I am a hobby programmer, but with a very small knowledge so far. But right behind Geoff Crammond, René Smit might be the one being most familiar to GP4's source code right now. I remember SDI having written in any thread that the theory of xSilvermanx is wrong. If I remember right, he said something like this:

Quote
SDI
The problem of GP4-online-play is not the high amount of data being sended through the network, but the reaction time of the internet. With today's highspeed internet it's no problem any more to send even big data packages through the whole world.
The big problem is GP4's source code: GP4.exe waits until it gets an answer from the connected computer, before it renders the next frame. This is no problem in a home LAN-network with it's fast reaction time, but on the internet you will barely be able to play the game with even more than one frame per second - independent from the speed of your internet connection.
I cannot make an online mod, even Geoff Crammond couldn't with the current source code.

As it seems, it would be necessary to uncouple GP4's wait for answer and rendering the next frame. But this would make necessary deep changes in the source code and cannot be done by anyone without re-programming most parts of the source code.
So sadly your solution, xSilvermanx, is not possible :(.
Re: Grand Prix 4 Online
Date: October 17, 2013 11:09PM
Posted by: xSilvermanx
thanks for that quote. But I won't just give up here obviously.
While reading, I thought: Wouldn't it still be possible to take a program that'd simulate the answer of the connected computer, so that only like every second there had to be an actual answer of the PC? In order to do this one would need access to the plaintext of the network-traffic (I did not put "decrypted" on purpose; you need to be able to read the network-code but if it's not encrypted it can't be decrypted. Another thing I don't know and never ever could find out.) and getting the program to simulate those answers that would be way too late. But while writing, I don't know whether this could work because the other PCs need to send those answers. Maybe it'd be possible to simulate answers of every computer so they send their request faster. However this'd require source-code or atleast readable network-traffic.
Anything on this? May be taking it back later, kinda late here in Germany. Maybe posting something Friday Afternoon.
Greetings
Sebastian
Sorry, only registered users may post in this forum.

Click here to login

Maintainer: mortal, stephan | Design: stephan, Lo2k | Moderatoren: mortal, TomMK, Noog, stephan | Downloads: Lo2k | Supported by: Atlassian Experts Berlin | Forum Rules | Policy