Dear forum users! In compliance with the new European GDPR regulations, we'd just like to inform you that if you have an account, your email address is stored in our database. We do not share your information with third parties, and your email address and password are encrypted for security reasons.

New to the forum? Say hello in this topic! Also make sure to read the rules.

Dedicated Server loading loop..

Did you encounter a problem, exploit, glitch or bug while playing the game or running the dedicated server software? Tell us about it here.
Forum rules
By using the forum you agree to the following rules. For this forum you also need to follow these additional rules.
Post Reply
User avatar
Odex64
Superfighter
Superfighter
Posts: 88
Joined: Sat Jul 29, 2017 12:39 pm
Title: Content Creator
SFD Account: Odex64
SFD Alias: Il Duce
Started SFD: Alpha
Location: Italy
Gender:
Age: 18

Dedicated Server loading loop..

Post by Odex64 » Wed Sep 16, 2020 10:33 pm

Greetings Superfighters. This is a serious problem I've encountered since the Steam release (but no one really noticed or reported it).

When I'm hosting an empty dedicated server, the game keeps GameOver-ing the match and loads the same map over and over.. until someone joins. This is a serious issue since it causes lag spikes and useless resources usage every 20 seconds (especially when hosting and playing in other servers).

I already tried to make a script to change the current map type to custom, or add bots and disable them, but nothing seems to work.
As I said this causes intense lag spikes when hosting and playing in some server at the same time, regardless your pc specs; and I've a pretty powerful pc.


Is there any workaround or fix to this peculiar problem?! I just hope I'm not too late for posting this, and devs will fix this annoying and weird issue.
Any suggestion is appreciated.
3 x

User avatar
Gurt
Lead Programmer
Lead Programmer
Posts: 1837
Joined: Sun Feb 28, 2016 3:22 pm
Title: Lead programmer
Started SFD: Made it!
Location: Sweden
Gender:
Age: 30

Post by Gurt » Sun Sep 20, 2020 4:30 pm

I'm not exactly sure why you're experience such severe lagspikes. The server do restart a special map each minute while waiting for players. It loads a special map with only a text "Waiting for players to join" which is a bare minimum map.
However, it does load extension scripts you have enabled which I'm assuming is causing the lagspikes / CPU spikes as they need to compile and load into memory and a lot of other stuff - it's a lot of overhead doing this - then you take that for each server you want to run.

I have released an experimental build in the BETAPREVIEW branch for Superfighters Deluxe where I have
  • increased the time between map restarts to 10 minutes while waiting for players
  • option to disable loading extension scripts while waiting for players.


You can try this out now and see if it helps in your case.

1: Download the BETAPREVIEW branch. You do this by going into Steam -> Library -> Superfighters Deluxe -> Properties -> BETA. Select the betapreview branch. If you don't see it you need to enable it by typing in "balistabalista" into the password box. This build is fully compatible with the existing 1.3.7 version so you don't have to worry about players not being able to join in.

2: Close your servers and open your config.ini file for each server you have configured. Find HOST_GAME_IGNORE_SCRIPTS_WHILE_WAITING_FOR_PLAYERS and set it to 1 (if you don't see the key just add it).
HOST_GAME_IGNORE_SCRIPTS_WHILE_WAITING_FOR_PLAYERS=1
OBS: The server needs to be closed or any changes made to the config.ini file will be overwritten by the server itself.
Note that extension scripts can't be interacted with using the chat while the server is waiting for players if you change use this option. But it might just be required if you have extension scripts running in a "multi-server environment" to avoid lag-spikes.

If this helps please reply so I can make it a more permanent and easily accessible option in the "host options" tab within the server software itself.

--
Keep reporting bugs and issues as we're still supporting and maintaining Superfighters Deluxe. However, we have no more plans for new content to Superfighters Deluxe but that's not saying we're never going to keep releasing updates containing tweaks and bug-fixes.
1 x
Gurt

User avatar
Odex64
Superfighter
Superfighter
Posts: 88
Joined: Sat Jul 29, 2017 12:39 pm
Title: Content Creator
SFD Account: Odex64
SFD Alias: Il Duce
Started SFD: Alpha
Location: Italy
Gender:
Age: 18

Post by Odex64 » Sun Sep 20, 2020 7:53 pm

Glad you didn't abandon SFD and keep patching it! I've tested the new build for at least 20/30 minutes, and it worked as expected.

First of all I want to say that when I downloaded the betapreview, I launched and closed sfd (in order to update the confing.ini); but I didn't find the "HOST_GAME_IGNORE_SCRIPTS_WHILE_WAITING_FOR_PLAYERS". So I had to delete the config.ini and let the game create a new one.

Regarding the lag spikes, I've experienced performance issues only after 10 minutes while hosting and playing in other servers (when my server re-loaded the special map). This is a great improvement which makes the lag spikes negligible since it happens every 10 minutes, however I recommend to extend the time at least to 30 minutes / 1 hour.
P.s: There's still some lag when firsts players join or the server changes / loads a map in general (so my problem is the map loading itself).

I've tried the new setting in confing.ini too, but I didn't notice performance change.
Gurt wrote:
Sun Sep 20, 2020 4:30 pm
Note that extension scripts can't be interacted with using the chat while the server is waiting for players ..
I also tried to start scripts through the chat, and it worked (did you mean this?).

I didn't find any other issue (or bug) so far. As I said above I'd extend the time to at least 30 minutes; But I don't think you can completely fix these lag spikes, since the problem is the map-loading itself (even though I don't experience lags while hosting and playing in my server).

Said that, I'll keep testing this version and report any other bug or issue as soon as I find them.
----
Keep it up 👍
0 x

User avatar
Gurt
Lead Programmer
Lead Programmer
Posts: 1837
Joined: Sun Feb 28, 2016 3:22 pm
Title: Lead programmer
Started SFD: Made it!
Location: Sweden
Gender:
Age: 30

Post by Gurt » Sun Sep 20, 2020 9:39 pm

You didn't need to delete your config.ini file. Just add the key if you don't see it "(if you don't see the key just add it)".

The "special map" is just all in-memory and no IO access is required. The restart time is there for failsafe reasons. I think I will add an option for the restart time too that can be configured for "multi server instance users" with some description of what it does to help ease your problem.

"There's still some lag when firsts players join or the server changes / loads a map in general (so my problem is the map loading itself)."
However, based on your description of your problem and how your experience has improved with this test-build my guess is that your network throughput isn't enough when one server is loading a map and sends information to all players joined in while the other servers are still running. Everyone using the network will feel this bottleneck in the network throughput. I don't think we can add a max "transmition speed" for servers in the middle of loading another map but I will look into it and see if it's possible as it might just be what you need for your network/router to keep up with all the data packages to avoid congestion. The downside is that loading will take longer but you might rather have that then having occasional network congestion spikes causing some lag on the other servers.

"Note that extension scripts can't be interacted with using the chat while the server is waiting for players .. "
What I mean is that you can't use the chat to type in script specific commands implemented by some scripts. Some scripts can read the chat and use this to be able to configure stuff in them using the chat directly. Starting/Stopping scripts can still be done as that's implemented by SFD itself.
1 x
Gurt

Post Reply