Need Help Optimizing Big Gamemode To Prevent/Avoid Overload

I’ve been working on an old custom game I made for me and my friends to play on since Season One of New Overwatch 1. The main premise is an FFA where every hero gets some form of change to their kit, with a HUD that explains what each one does, etc. It had been going well for a while, but now that I’m up to the last of the flankers (with specialists and stalwarts left to do), I’m experiencing major issues with my gamemode, like characters disappearing from hero select, which makes developing extremely difficult. When I searched up the cause for these problems I found that it was mostly all tied to server load, and now I’ve gone back to try and adjust it like changing how I create the HUDs from ongoing-each player to ongoing-Global and stuff but now that I’m at D.va, not only is seperating the HUD worrying for me, but I also crash the server everytime I remech, so I’ve been unable to see if what I’ve done for the mech’s HUD even works. So now I’m here, to desperately ask for advice from more experienced workshop creators than myself–as I’ve been doing this mainly for fun and learning as I go–as to how to better optimize my gamemode and reduce the apparently large server load that is now happening.

–TL;DR: I need advice on how to better optimize an FFA gamemode where all heroes get changes and have custom HUDS and effects to prevent hero select bugs and crashes due to excessive server load.

-If the answers are obvious, I apologize, but as I’ve stated before, I’ve been learning how to use the workshop as I go along, and any advice will be helpful. If it’s important to know, I play (and until recently, using my laptop) developed my mode on Xbox.

-The code for the gamemode is K6HEA, if you want to check the work I’ve done. Sorry for the long post, but any help would be greatly appreciated. I likely won’t check this anytime today, as I am very stressed and it’s getting somewhat late, so I’m going to play Warframe to get my mind off it.

I’ll give it a look when I can :pachimari_grin:

Looking forward to seeing the changes for each hero!

I’ll Gladly Await Your Feedback! Any Help Would Be Appreciated! I’ll Keep Check On This Post Every Now And Then For It.

1 Like

This is way bigger than I thought! Going to take longer than I thought…

1 Like

lol Yeah, I Wasn’t Joking About The Big Gamemode Part–I Tried Not To Slack On Any Of The Heroes I’ve Done So Far! But Trust Me, I Can Wait!

Just playing around - this is super impressive. I’ve got some ideas already though so I’ll try to put some stuff together!

1 Like

Thank You So Much! Looking Forward To The Ideas You Come Up With To Help Me Out.

In my MOD, I’ve implemented two mechanisms to counter server overload.

  1. When server load becomes high, actions are temporarily paused. Once the load decreases, the paused actions resume with a distributed delay (work as load balancer).
    Simply incorporate the “WaitUntilServerLoadLimitRelease()" function into the low-priority processing sections.
  2. If server overload persists for several seconds, the game’s speed slows down (this detracts from the gaming experience, but it’s very effective).

Here is the precompiled OSTW code.
While you cannot import it directly into the game, the mechanisms implemented here are easy to understand. Please use this as a reference.

Crashes for server load, are caused by too many actions running in a single frame (update) of server also infinite loops without an Wait action.

If you’re using tools like Deltinteger (OSTW language transpiler), certainly may cause crashes, because declaring classes and extra stuff, may increase alot server load.

Yes i agree that they need increase a bit the server limits, but considering current workshop state, maybe these problems are caused by outdated workshop not even about your code.