Author Topic: The dedicated server software compared to other games' and why it has to change  (Read 5773 times)

Devin

  • *
  • Posts: 313
Hello everyone! This topic has the purpose of letting Bugbear know what people think about the dedicated server and about hosting in general.
This is a critical topic since a game like this can't survive well without a good online multiplayer mode.

As some might know, I did a stress test on a server yesterday. 15 awesome people joined and helped me gather tons of information while having just as much fun!

The information however leads to the fact that the dedicated server software has to change. What has driven me away from online multiplayer (and now even from hotlapping) are two simple facts:
 -Random weird lags. We all know them, some servers sometimes make our games run slower than they should, we have lag spikes and the whole game seems to glitch out, we slightly touch a wall and our car goes flying unexpectedly. This is caused by the way the server software is designed

 -People cutting the track, doing all sorts of stuff that drives everyone else away in order to win, leading to more and more cheaters until eventually even the fairest player starts to cheat because otherwise there would be no chance to be anywhere near the top of the leaderboard. This is caused by the way the game counts going off track as "cutting". This will not be adressed in this thread

I'm here to adress the major part of the issues that drive people away, the one that is caused by the server software. Lag.
Some may argue that the physics has changed too much to be fun and blame that for the lack of online racing. I however had tons of fun in the past days and great battles for the lead. Everything happened and it was always fun.

The fun only stopped when I randomly slowed down, couldn't steer properly anymore, until the server randomly teleported me forward, sending me into walls, off the track, into trees and worse.
I adressed this issue quite a while ago, but I think by now most other server hosts agree that it has to change. Not only because of that, but also because they have to use monster hardware in order to host a server for this game. And that either costs money or their home connection, which can't be. I've not seen a single professionally hosted server that stayed for longer, simply because such servers cost too much and still can't handle the game.

Well, what's causing these lags and performance issues?

The general way the server software works. Just compare it to any other driving game with online functionality:

Wreckfest: The server basically runs the full game without rendering any frames. This means, each client sends their movement/input data to the server, which then "calculates" each single frame to then send further position data back to each client so that the clients know where every car is. This means, once a packet is lost on the way to the server, the player will experience an inability to steer for a short while, which is generally known as "weird steering" in the community, or simply input lag. To make it look smoother and more direct, the client "predicts" where the player wants to move next, renders the next frames showing the player going into that direction, until the player then receives the packet from the server that says "according to my information, you didn't just steer. I never received that packet. I calculated your new position and it's actually 2 meters further to the right." which the client then performs, making it seem like the car sort of slides back to where it came from. Basically, the game no longer really runs on the player's PC. What runs there is just the input and the graphical output. The actual game runs on the server. Of course, the player's input always lags behind, so the movement prediction thinks the player steers away from a wall, renders it like the player only barely scratches along it, while the server hasn't received the "steering" packet yet, so it thinks the player instead crashed into the wall at full speed. It then sends that info back to the client, which then suddenly makes the player spin unexpectedly, weird and "laggy".

Another problem is the sudden slow-motion or "heavier lag" we sometimes experience, so that the cars sometimes slow down and go fast again. That sort of slowdown. This happens when the server can't run at the desired speed. I am not sure whether the server runs at a set frame rate or not, but it really feels like it is. And once it can't calculate each "frame" fast enough, every single player gets slowdown because the server will then be unable to calculate it fast enough obviously. How this happens: If a server runs at a set framerate, it calculates a frame in, let's say, a 60th of a second. Each 60th of a second, so 60 times per second, a car moving at a solid 100km/h will move forward by roughly 27.8 meters per second, so each step the server calculates would be 27.8/60 meters further into the direction the car is going. Let's call that 0.463 meters per frame it calculates. Now, let's say, the server hits a 100% CPU, so it can't calculate more than 45 frames per second. It will then only add 0.463*45 meters per second to the car, which is only 20.83 meters per second, obviously just 75km/h. The car feels slower. The server still calculates proper physics though, which makes the steering feel unnaturally slow for that speed. It's also not a steady 45 frames the server calculates each second. It might be anything between 0 and 60, depending on how much must be calculated each frame, which makes the cars feel sort of weird, hard to describe. What also makes it look weird is the fact that the client still calculates the game at full speed, including movement prediction, which then again makes the car feel even weirder, rubberbanding back onto a line it just steered away from. This is quite similar to what happens when the server doesn't receive input from a player for a fraction of a second, as described above.

Now, these are just two kinds of lag that appear quite frequently. The first kind of lag also appears when the server suffers connection problems, however that lag somehow leads to a higher CPU load, which then leads to the second kind of lag. You see, no matter what happens, there will be lag eventually and it will affect all players.

It seems like the time it takes the server to transmit network packets also causes some additional lag, in just 20 minutes with 15 players it generated 5gb of traffic and each packet takes some time of the server obsiously. While it works perfectly well when just two or three players are online, driving against as many bots as possible. It also seems like the server is transmitting everything precisely, including vehicle damage, at a rather high frequency. No other game does it as precisely because it's just mathematically and physically not possible, and even Wreckfest is not succeeding, but it does cost quite a huge amount of performance. Both, network and CPU performance. From the view of a player, you won't really notice small offs unless you directly compare everything frame by frame with other players, but in Wreckfest you do because then the whole server lags and instead of noticing an off in the other cars, the player himself feels off and like he's not in total control of his car.

I've specifically talked to Burns about what his servers are doing and he let me know that he can host 4 servers with 20 players each, while one server with 24 players is a huge problem. It could just be that each additional player multiplies the performance it takes, so that 24 players just need much more than 4x20 players, but I also think that it's caused by the fact that the server software, because of the way it works, can't really use multiple CPU cores. A dedicated core of the latest average Intel Xeon CPU I could get for instance could only handle 13 players before getting out of breath. It shouldn't require a 500$ CPU just to host a server for this game.
It seems like Burns' 4x20 servers work because each of his CPU cores can handle one server with 20 people on it. According to my stress test that sounds about right. Now, obviously at least the networks part of the server MUST use multithreading, so at least that part should be able to use multiple cores, but I'm not sure which of the possible causes I just listed is actually causing the impossibility to host a 24 player server. A little info on how that works would surely point to one of those.


Different racing games' servers, for instance specifically rFactor 2: The server only transmits a string that contains track, weather, time, rules and maybe some other stuff to each joining client. After that, the only thing it does is transmitting exact positions, speed and steering wheel angle from each player to each player. It optionally actually looks at said packets to determine whether something's off (potential cheater? Anticheat) or not. This means, it never sends a player info about himself. So the player can just drive around and do his thing without ever being affected by the server in any way. Physics runs completely on the player's PC, so does the game.

Once a player doesn't send a packet to the server properly, the other players' games just interpolate the last packet sent and the one before, making it easy to predict where the "lagging" player would likely have been going, interpolating that with the next packet that is being received. Disabling collison of that certain car until finally fading it out if the last received packet is older than a second to prevent inaccuracy of the movement prediction to cause it to crash into others when it actually didn't. Since the server only has to deal with transmitting just a couple of bytes per player and only when it receives those, it doesn't really cause any CPU load at all. The only thing important for gameplay that's actually being calculated by the server is dynamic moving objects that don't belong to any players, but even that is usually handled by the closest client and the server only remembers the position to then send it to other players. The server should just make sure to not transmit any more than maybe 200 packets per player per second to prevent it from going full speed, causing high CPU load for no reason. However, should it for any reason be unable to transmit packets fast enough, maybe just 10 per player per second, the movement prediction will kick in clientside and interpolate that well enough to make it seem like there's no lag at all. The worst that happens is that cars move and look (very) slightly choppy, not noticeable unless directly spectating another player and looking at the steering wheel or something like that, but everything will be at full speed and collisions and alike will still feel somewhat natural and good.

Since the server doesn't calculate the position of any client, apart from maybe anticheat, it will not only cause much less CPU load, but also not influence the player's position. This means that the clock rate of the server really only matters when it goes to accuracy and smooth movement, the only thing that causes serious lag is when the whole server stops transmitting for at least a second. But even then, the player is unaffected, he might just no longer be able to see the other drivers for a short while. This also means that players are no longer dependant on each other, so if one player has a bad connection, it doesn't affect the server at all, and neither does it affect any of the other players.


___________________________________________________________________________________________________________________________________________


You see, the major difference is that the Wreckfest server is basically just the remote game, while most other games just use it as a node to transmit data. This means that no matter what goes wrong, if any player has a slow connection or lag, if the server isn't fast enough to get up to it's set framerate, if a network packet gets lost, it all causes major problems for everyone in Wreckfest, while none of that really makes a difference in any other game.

Not only that, but also was I able to host an rFactor 2 server with astonishing 40 AI players and 5 human players at such a low CPU load that I could in theory host another 7 of those servers, while a Wreckfest server would cause such high traffic and so much CPU load that it just fails at 15 players, even though in theory both games have to transmit exactly the same data in order to play online. Including deform and damage data.

It is also rather important that the player's experience doesn't depend on the server, his connection or any other player's hardware or connection in any possible way. The player's car should remain unaffected by everything that's not caused by the client itself - or by being crashed by another player or by hitting a dynamic object obviously, which then would have to be "clientside" anyway, the server only provides the positions.

Another important aspect of the server is that a Wreckfest server is basically still a stripped down full game, causing problems to run it properly on certain hardware and software. For example, what I've talked about before is the console. Even though the server is a console application, launching it from console makes it launch another window and then run in there instead. This makes it impossible to launch the server in an environment without a desktop. Also, the fact that it's technically the full game requires a host to download the whole game onto a server or PC. Has anyone ever tried to do that on linux, especially through commandline? It's necessary to use a command only few people know to make SteamCMD download Windows stuff instead. It is then necessary to log into steamCMD using a steam username, password and steam guard code that has bought the game. This alone is a no-go in my opinion, because the password is being written out in plain text, and likely even sent as that. Usually, steam based servers require a login as "anonymous", which does not require any sort of password. However, this obviously can't be done for Wreckfest in it's current state because that would allow everyone to download (and likely play) the full game.

This is likely a reason why there are no professionally hosted servers either. No one is going to buy the game in order to host, and no one who wants to rent a server wants to either upload the 7gb of files or to log into steam on a server they don't own. This is what I actually consider a critical problem.

I know Bugbear has already reserved a steam ID for a standalone dedicated server, but it's now finally time to rewrite the network part of the game to start working on just that - a standalone server that's not just a modified game.



I might have forgotten something very important while comparing both kinds of dedicated servers. If I find out what it is, I will add it, but if you compare both ways you'll likely see that anyway.


Now this thread is not meant to complain about Bugbear in any way. It's intention is for us to tell Bugbear what exactly we want about a server and I'm pretty sure most who read this will agree on this one.
I know Janne and Tapio have been planning a different kind of server and I am pretty sure they've at least been planning to do some major changes anyway, so this thread is here to show that we fully support that and that we can't have those changes fast enough!

I actually got the idea of starting this thread after lag ruined my online experience and when I started to host a 24/7 server, I experienced heavy trouble in doing so. I won't be hosting another server until that changes, but that's not a major loss, considering enough other community members already host those.

I just hope this topic gives the idea of a new server enough support to make the multiplayer of Wreckfest more populated and fun again!


It took me 2 hours to write all this and I really hope it was worth it!
« Last Edit: August 15, 2016, 12:51:58 AM by Devin »

Stuntman-Lee

  • Posts: 33
I'm not much of a racer but I'm prone to the odd bump or 2. I've noticed more recently that servers seem to crash on the impact of a big 3+ car crash - especially mid air [small fig 8 for example]. Also tarmac magnets on the roof never seems to happen offline but is a regular thing online?
PC Spec: I5 4670K, 16GB DDR3, Radeon HD 7870 MYST. Edition
www.NIBangerRacingSpectator.com
Facebook
YouTube

Facial_Burns

  • *
  • *
  • *
  • Posts: 411
I would love to see something done about this, as Devin said i run 4-5 20 player servers, i used to run 24 player servers but the crashes were constant, so bad i even started a thread about it here :

http://community.bugbeargames.com/index.php/topic,8916.0.html 

if you look through it you will see my server logs they show the terrible performance i was getting, as or right now i get no lag complaints from anyone except those from the west coast US and AU/NZ but that is too be expected when the server is EU based, also all the messing around with copied folders and config files is annoying when running more than one server and then you have the mod servers which are impossible to run, If you run more than 2 mods on the server its a heart break, some people can join some people cant some have conflict, just a pain,

My steam group where u can always find some friends on NCG
http://steamcommunity.com/groups/WRCserver
My NCG discord server
https://discord.gg/010U99akJwUY82yjk

Basic pc specs:
16gb ram
Amd athlon FX 8350 8 core
nividia gtx 970
gigabte motherboard
3tb hdd
windows 8.1 pro

BenDover

  • *
  • Posts: 554
This is a major thing and it need to change like Devins says preatty much, I really hope that everyone in the BB team will take this information and make something great out of it. We need a change and thats when you have the server tool ready for us, but its need to be priority.

I have host many games in my life and I have never had so much problems with a server as NCG, it crashes at random and thats really annoying, I even needed to fix an auto restarter so I know it always up when I am not home and can restart it. I have never needed todo so befor and I restart the server daily to not get those wierd lags that can occure on servers.

Thanks Devin to taking the time to do all this.
Clean and fair racer, but dont make me mad ;)
Clean Racer? Head on over to BenDovers NCG Group - http://steamcommunity.com/groups/BensNCG#

Nvidia GTX 760, AMD FX-8350 8-core, 16 ram DDR3, Crosshair v forumla-z,

Orbotnive T

  • *
  • Posts: 463
Since I can't rate posts I will say it here, winner :) I'm not up to scratch on packets etc but the post was informative and understandable. After a few crashes tonight I Hope that your detailed expression can help to improve online multiplayer. Thanks for taking the time :)

Spaceface

  • Posts: 23
Hey Guys,

I definitely agree the online aspect of the game needs improvement, especially the server end of things. Nothing worse than having a server crash when there's upwards of 10 or more people on it having a good time, and then only half of them rejoin when the server restarts. As for CPU load, I don't really notice a lot of stress being put on the CPU due to the dedicated server process. When running a full server of around 20 people (which doesn't happen often these days) the server process uses about up to 15 percent of my CPU resources spread over 4 cores (Just running a 3570k at 4.4 Ghz), but you definitely need a good upload pipe, 15 mbps seems to be sufficient and it will use all of that on a full server. For people who live in a city, bandwidth is not usually an issue because most cities are equipped with fibre op internet connection's these days but that luxury is not available to everyone. Thanks to element109, the community has a great server manager GUI which makes creating a server with a track rotation so much easier, however it would be nice to have something official from Bugbear as well as improvement to the server code itself (I know nothing about coding) to make it more stable. Anyway, looking forward to any improvements that can be made! :D
Computer Specs:
OS: Windows 10 pro
CPU: 3570K @ 4.2 Ghz
GPU: Gigabyte G1 1070
RAM: TEAM DDR3 16GB 2400 Mhz
SOUND: Soundblaster Z
MOBO: ASROCK Z77 EXTREME 4
SSD 1: OS on OCZ-VERTEX3 120 Gb
SSD 2: Games on MUSHKIN 480 Gb

Devin

  • *
  • Posts: 313
When running a full server of around 20 people (which doesn't happen often these days) the server process uses about up to 15 percent of my CPU resources spread over 4 cores (Just running a 3570k at 4.4 Ghz)

That sounds about right, I explained that to Burns yesterday:
A Wreckfest server seems to be able to use just one core. However, it is not only running on one core. Means, the operating system lets it run on core 1 for a while, then on 2, then on 3, then on 4 and then back to 1 due to the way an operating system works. But it still can't use more power than what one single core would be able to deliver. In theory at least. 15% means just that you have 4 cores and one of it is on 60% or something like that, which sounds about correct for a 3570k at 4.4GHz and seems to be quite similar to the information I gathered on my stress test. A less overclocked or slower CPU would be struggling with that already, so would many server CPUs. I am not sure if the Wreckfest dedicated server is actually able to use more than 1 core for the majority of it's calculations, but it really seems like that. And even if it doesn't, it's still sort of problematic that CPU usage is that high.

It could also be that the Wreckfest server can actually use more than one core, which would then mean that there's some horrible bug that only appears with many players and causes lag, which would be even worse than having it only run on one core. Only Bugbear knows which one of those is actually causing that, unless I do some more serious testing of course :P Unfortunately, I don't have the hardware available to do that, which shouldn't be necessary to run the server in the first place.

Can you run a server of 24 people without problems? Bots don't count :P

CFodder

  • Posts: 124
Have to agree on all of your points regarding the dedicated server side of things - although not so much with equating cutting to cheating but as you said won't be addressed here.

BB have an awesome game but to keep it's longevity it needs two things a robust dedicated server for online MP and the ability to mod/customise the game. They certainly seemed to have achieved the latter - haven't delved into modding myself so can't say for sure - so now they have to address the server side of it. Have posted my thoughts esp with regards to multi-core usage so won't repeat it here. If BB can fix the server side then I'm sure we'll have a lot more peeps online.

BenDover

  • *
  • Posts: 554
Have to agree on all of your points regarding the dedicated server side of things - although not so much with equating cutting to cheating but as you said won't be addressed here.

BB have an awesome game but to keep it's longevity it needs two things a robust dedicated server for online MP and the ability to mod/customise the game. They certainly seemed to have achieved the latter - haven't delved into modding myself so can't say for sure - so now they have to address the server side of it. Have posted my thoughts esp with regards to multi-core usage so won't repeat it here. If BB can fix the server side then I'm sure we'll have a lot more peeps online.

One thing we NEED as a server host and for the players are that when someone is joining a modded server the mods get downloaded so you can join, there is no chance for the player to know what mod/mods that are installed on the server. So I think modded servers dosent get alot of players :/ Not the new one who joins the game atleast...
Clean and fair racer, but dont make me mad ;)
Clean Racer? Head on over to BenDovers NCG Group - http://steamcommunity.com/groups/BensNCG#

Nvidia GTX 760, AMD FX-8350 8-core, 16 ram DDR3, Crosshair v forumla-z,

Facial_Burns

  • *
  • *
  • *
  • Posts: 411
And to add to that Ben, Their is also a lack of dedicated mod servers because of the huge difficulty in getting them running, with conflicts and orders in which u have to place the mods etc, it's really something that needs to be done dedicated modded servers basically can't be done, which is a shame
My steam group where u can always find some friends on NCG
http://steamcommunity.com/groups/WRCserver
My NCG discord server
https://discord.gg/010U99akJwUY82yjk

Basic pc specs:
16gb ram
Amd athlon FX 8350 8 core
nividia gtx 970
gigabte motherboard
3tb hdd
windows 8.1 pro

CFodder

  • Posts: 124
And to add on top of what Facial and Ben have said it would also be beneficial if clients could only run the mods the particular server they're on (skins aside where it would be good to have an auto upload feature if the server doesn't have it) allowsto keep an even playing field for all on the server.

Purple44

  • *
  • Posts: 6629
First, thanks to Devin for starting this thread.  :D With Wreckfest headed for beta hopefully by the end of the year, it a good time to have a discussion on improving the server software, since it seem to be the preferred way to host Wreckfest online.

I don't host with the server software, I prefer to do a player host and have more control of the lobby ( like better control the count down timer, don't like leaving players behind ).  :)

From what I have seen with my many hours online, a player host is less likely to crash than a server host. It rare I cash my player host, but it common a server host going crash sooner or later. Even with a fresh reboot. I be curious if server host crashes more is because after 12 hours of continues running, server more likely to crash, than a player host that only hosting for around 2-4 hours.

You guys that host with servers, is server usually stable for the first few hours before it more likely to crash? Or a crash can happen in the first hour or may go all day before crashing?

***************************

Here some key threads to look at about hosting Wreckfest online:

Janne posted a few times here about bandwidth needed for Wreckfest online. But this thread got started back in the early days of WF online, Oct 2014. I believe the online code been optimize some since then.
HUGE Upload during hosting

24 player, lag free is possible online. I have seen it, but it is rare. Clearshot server has been the best example I have seen online:

Looking for Dedicated Server testers.  July 2015

But even if your have BIG pipes, it not a guarantee a server can handle 20+ players, even 14 might be a struggle.  :o
Results of pro-longed Dedicated Server Tests

But these threads are old, so how is online doing these days, this year?  When it come to major lag spike that stop your car and this happen to all players at same time, I rarely see this happen online, unless we are doing the stadium derby arena and players plow through the tires in the corners. A few Builds back, the tires were crashing the host\ server. Now host server usually survives this.

So one cause of major lag online can be cause when a bunch objects ( like tires ) get hit all at once with a few cars involved. But that not problem on most tracks.

When joining US hosts\servers where I'm at 150 PING or less, my car not feeling laggy. If there High PING player in the lobby, then I may see his car going sideways. And if room is getting full, 18+ players, then more likely to see some signs of lag depending on the server. But I don't get do much 18+ players lobbys on the US side these days.

Now when I go to join Euro or down under lobbys with a 200+ Ping, I do see sign of lag on my side. like ghosting through cars and bouncing off the walls more than I should and see the blow by effect, where my car get spun by the guy passing me, but player did not touch my car, miss it by at least a foot.

Now if I'm getting around 250+, I get steering lag. That why I don't get to race the clean racing guys over at Ben server. :(

I use a Prediction time of 1056. It been a safe number to use on all the servers I have joined. No FPS dropping to 10.

So I ask, can PING lag be fix by Bugbear when we do 18+ players online? I have seen high PING players ( including me ) do OK in lobbys with 10 or less players. A 250+ PING player is still label to have lag issues at Clearshot server with 20+ players I think.

**************************************

" WF dedicated server software compared to other games"
, can a true comparison be made to Wreckfest? What other racing game is doing on the fly soft body car damage online and have to transmit the damage info to 20+ players?

That be a test, do a mod that the cars don't take any damage and then do a 24 player server. See have much not having damage effects the data flow between server and all the players. Would it cut bandwidth needed in half? Would it stop the lag?

Also, can a joining player have some blame for online lag beside high PING issue, if have low FPS? I think this an issue too. Anything that can effect the host or server, can cause lag for all players.

In GRID 1, we had 12 players online with Peer to Peer connection and I could get lag if I set my graphic settings to high. The smoke effect had big effect online, so I lowered particle setting a step and used a lower resolution to keep my FPS above 40.

I have always suggested with Wreckfest you use graphic settings that get you 40+ FPS. You go online with FPS in the 20s, your game running slow and can effect the host or server.


I would love to see something done about this, as Devin said i run 4-5 20 player servers, i used to run 24 player servers but the crashes were constant, so bad i even started a thread about it here :


I still don't understand how Burns can run 4 servers and not swamp his down and up pipes to the internet if more than one server get real busy at the same time?

And to add on top of what Facial and Ben have said it would also be beneficial if clients could only run the mods the particular server they're on (skins aside where it would be good to have an auto upload feature if the server doesn't have it) allowsto keep an even playing field for all on the server.


An auto uplaod would be nice and make hosting mods online easier for joining players to join.

Buttt, I would not want an auto mod uploader to start unless I have the option to say yes or no if I change my mind. Also I would want to know what mod(s) I'm downloading. Do you put this on the server to put in host message, what mods are being use or have the upload show a window of what mods that will be uploaded?

I would say it be best if auto uploader popped up a window to show mod list and option to say YES. There still players don't know about the "show message" button.

What happens to the mod(s) that get uploaded? Do they stay on joining players HD? What if you did not like the mod after you gave it a spin, how would player go about deleting mod? Should game automatically delete these mods after you leave modded host? What happens if server crashes? Can mod still be deleted automatically?

Also, right now mods have been causing problems with player's game sometimes ( WF won't start!!! or can't get WF back to stock, all red Xs on host list!! ), would having an auto uploader increase the chance of mods messing up your game?

I love racing mods online, been doing it since 2005, but average Joe player hate it when game don't work no more and has no idea how to fix it.  :P
Flatout Joint, where the mods were.

i5 2500, 8GB, Nvidia 660 960, SB Recon, Win 10 or Win7 64bit, DFGT Wheel

Facial_Burns

  • *
  • *
  • *
  • Posts: 411
thankfully i have quite a large upload speed, just over 30mbps, each full server according to task manager uses 5-6mbps when full. so i suppose theirs your answer, 6mbps x 4 servers = 24mbps, Which i have, that i assume is the reason, obviously im not tech expert so im not sure, i have done it before tho before the MP slowed down :

http://steamcommunity.com/sharedfiles/filedetails/?id=688334691
My steam group where u can always find some friends on NCG
http://steamcommunity.com/groups/WRCserver
My NCG discord server
https://discord.gg/010U99akJwUY82yjk

Basic pc specs:
16gb ram
Amd athlon FX 8350 8 core
nividia gtx 970
gigabte motherboard
3tb hdd
windows 8.1 pro

Devin

  • *
  • Posts: 313

" WF dedicated server software compared to other games"
, can a true comparison be made to Wreckfest? What other racing game is doing on the fly soft body car damage online and have to transmit the damage info to 20+ players?

That be a test, do a mod that the cars don't take any damage and then do a 24 player server. See have much not having damage effects the data flow between server and all the players. Would it cut bandwidth needed in half? Would it stop the lag?
Actually, rFactor 2, which I used as an example here, also allows for car body deform in a softbody-ish way. However, only when it's really far off or when it's a part that's influencing the physics does the server actually transmit it to others, you won't notice any bandwidth difference if anyone crashes. Unless so many people crash that you have 200 parts of debris flying around the track. But even then, since it's not perfectly in sync, it looks natural and not laggy for any player and it doesn't cause any bandwidth spikes.

Since Wreckfest technically runs on the server instead of the client, every single deformation is being transmitted once per frame (in theory, not sure if that actually happens, but it pretty much seems like that) and that causes unbelievable bandwidth problems. Other games let the client do that and, if too far off, simply send the correct deformation to the client, which then fades in or something. In case of rFactor, that was never needed when I raced, since the clientside prediction never got it wrong and all crashes looked natural for me, although some looked a bit choppy when my connection went down.

If the cars don't take any damage, the deform still seems to be transmitted, which would be horrible if you aimed towards less network usage. But I'm pretty sure it does that. Would explain the network load.

You see, it is possible to do that. Mostly because I don't even consider WF a softbody based physics engine, the damage and deform however is set up in a sort of soft way that I've not seen before yet. In theory, this would be perfect for a server that runs how I explained other games' servers.

If you let 24 cars race with only one collision sphere each, you might heavily reduce network usage, but that'd be pretty dumb because then you'd basically completely disable collisions and make cars glitch out horribly.
That's really not an option here, that system needs to stay intact.


Also, can a joining player have some blame for online lag beside high PING issue, if have low FPS? I think this an issue too. Anything that can effect the host or server, can cause lag for all players.
Indeed it can be blamed. The server has to load some stuff for the player and transmit data, in that time it can't really calculate the next couple of physics steps which then leads to lag. The cars are only being loaded in the lobby fortunately, that'd have been horrible if they were loaded instantly. On other game servers you won't notice that lag in any way. But since Wreckfest seems to be tied to a certain refresh rate and, which is even worse, actually controls each player's cars, every single player will be affected by that. If the server is really fast, you might not notice that lag at all. However, if a player has a slow connection or a slow PC, the server sometimes seems to "wait" for them, which results in lag for every single player. Back when I first tested my server, which was more than a year ago, if not two years, I noticed that once someone with a horrible framerate joined, the whole server went slowmo, broke and lagged out and glitched. Likely because that waiting seemed to have happened there too. Haven't really noticed that since, but it might still be there.
« Last Edit: August 15, 2016, 04:28:27 PM by Devin »

sam223

  • *
  • Posts: 2482
The problem is not the soft body damage. Wreckfest is no more complex than rfactor or nascar heat in that aspect really. Its a more glossy,clever way of a producing a simple solution. Unlike BeamNG. The problem is that it calculates server side (or atleast seems to) for a unexplained reason. Every car damage doesn't need to identical for each player, although theoretically it would be similar for all players (minus lag), if the calculations was completed solely based on other player speed and positioning.

Out of interest are you all trying to host from home, windows PC's?
A friend has been meaning to try setup a server on a linux cloud storage (just not had time yet), wondered if anyone else had attempted it?
Dell U2515H 25",  i5-4690k @4.0ghz, 8gb ram, Zotac GTX 960 4GB, 120gb SSD, 1tb HHD, win 7, G25/Ps3 pad
Online Bangers:Wreckfest - http://steamcommunity.com/sharedfiles/filedetails/?id=740683245