I understand that on the outside this seems impossible, but I had an idea. Now bare in mind I am not a network engineer, or an awesome programmer by any stretch of the imagination, but I do have a "Basic" concept of the way things kinda work.
From my understanding the packet loss comes from using UDP packets, and although I understand it is essentially impossible to modify the client to use TCP packets, what if "front ends" were created?
Example, the SOD server program connects directly to another program running on the SOD server's computer. This programs entire job is to take the UDP packet, and re-package it in a TCP packet. It then send this TCP packet to the players computer who has a similar program that receives the TCP packet, and re-packages it back into the original UDP packet. This of course would mean that the clients would connect directly to that program instead of to the SoD server. As in this example.
|SoD server |-------|UDP to TCP |--------/ /-------------|TCP to UDP |--------|game client |
..............................Program ....................................... Program
\ ............................................. /.................................\................................................./
Running on Sod server.............................................Running on players computer
This to my understanding (I admit it is limited) will completely eliminate packet loss, and may even resolve some other bugs not even though to be related.
Yes, I understand the complexity of undergoing such a task (Well, I don't think it would be THAT complex if you understand programming and networking well) But do consider, The great wall of China also started with an idea.
From my understanding the packet loss comes from using UDP packets, and although I understand it is essentially impossible to modify the client to use TCP packets, what if "front ends" were created?
Example, the SOD server program connects directly to another program running on the SOD server's computer. This programs entire job is to take the UDP packet, and re-package it in a TCP packet. It then send this TCP packet to the players computer who has a similar program that receives the TCP packet, and re-packages it back into the original UDP packet. This of course would mean that the clients would connect directly to that program instead of to the SoD server. As in this example.
|SoD server |-------|UDP to TCP |--------/ /-------------|TCP to UDP |--------|game client |
..............................Program ....................................... Program
\ ............................................. /.................................\................................................./
Running on Sod server.............................................Running on players computer
This to my understanding (I admit it is limited) will completely eliminate packet loss, and may even resolve some other bugs not even though to be related.
Yes, I understand the complexity of undergoing such a task (Well, I don't think it would be THAT complex if you understand programming and networking well) But do consider, The great wall of China also started with an idea.
Last edited: