Music. Coding. Gaming. Life.


Project Homepage:
Primary Language: C#
Created: 3/16/2019 1:26:01 pm (3/16/2019)
Updated: 1/28/2021 9:06:25 am (1/28/2021)

A mod for the game Overload that enhances the multiplayer experience.



Modding (using DLLs that start with Mod-) is now disabled by default. To enable modding, you must pass the "-modded" command line switch to olmod. You will know this works and your mod is enabled by seeing the word `**MODDED**` as part of your version number. Works for servers as well, modded servers can be seen in the multiplayer lobby (the width of the text for the server version has been expanded for this purpose).

The default method of primary weapon spawning in multiplayer maps has been changed. For players, all you need to know is that you will see more consistent primary loadouts in levels, and that the Lancer will start spawning in JIP games when certain player thresholds are met (this threshold varies by level, which is 5 for Backfire and maps that don't set these values such as Burning Indika v1.1). For map designers, here is what you need to know about the multiplayer mode file:

- The "percent" field - which wasn't really a "percent" - on fields such as $weapon;IMPULSE;2.0 is now a weight. This means that something like giving Imuplse a weight of 2.0 and Driller a weight of 1.0 is no different from giving the Impulse 50 and Driller 25, or Impulse 0.2 and Driller 0.1. Previously, the higher the number, the *more* of that weapon would spawn, and numbers too high would potentially put a primary's spawn rate at 100%.

- Previously, the game capped the number of available primary spawns at whatever was in the weapon count 8 field, regardless if there were more players than 8 in the game. This cap has been lifted. For instance, if you have $weapon_count2;2 and $weapon_count8;8, today 10 players would give you a maximum of 8 primaries spawned in at once. Now, you will get 10.

- Whether or not the Lancer spawn is controlled by three things. First, if you set $weapon;LANCER;0, you will never see a Lancer. Second, if you set the new command $lancer_players;4, you will not get a Lancer until there are 4 players in the game. The number 4 is adjustable, if you want there to be 8 players before a Lancer is spawned, you set $lancer_players;8. Lastly, if you do not specify $lancer_players, olmod will fallback on old behavior. I'm not going to go into the formula to what this behavior here is, because it's complex and isn't exactly the greatest piece of code in Overload. Generally, the lower the weight of the Lancer is ranked among the other primaries, the more players that will be required for it to spawn.

- Finally, the max number of players is re-evaluated every time a weapon spawn happens. That means as more players join via Join in Progress, more primaries may be available if the map maker allows for it. This also means that if you fall below the player threshold for the Lancer to spawn, it will stop spawning until the player threshold is met.

Autoselect is now available for multiplayer games. To enable, you must go to Control Options -> Advanced Options and set Primary Auto-Select to Never. You modify autoselect settings on the same screen you modify your loadout, ship graphics, and modifiers, the Multiplayer -> Customize menu. Order the weapons you wish starting with the weapon you want to select always on top. You can "X" out a weapon to make sure it never gets selected. Also, never miss a devastator autoselect with the alert option. Autoselect can be enabled for primaries, secondaries, both, or neither. For Classic Spawns mode, Impulse+ (dual Impulse) is treated as being below everything in the list. If you don't want a weapon to be selected above Impulse+, simply "X" it out. Note that this will affect what weapon is selected in your loadouts. For instance, if you have a loadout with Impulse, Thunderbolt, and Hunters, and you have Thunderbolt higher than Impulse in autoselect, you will now start with Thunderbolt selected, and NOT Impulse. Works for missiles, too.

New advanced settings are available for multiplayer games:

- Allow Rear View Camera (defaults off). This option allows players to use the rear view camera. Note the cheat code has been removed. You can now turn on rear view in Cockpit & HUD options.

- Scale Respawn To Team Size (defaults off, only available in team games). This option will scale a player's respawn time after death to be equal to the number of players on their team.

- Classic Spawns (defaults to off). In this mode, you do not get loadouts, but rather you start with Impulse+ (dual Impulse) and Falcons, and must collect the primaries you wish to use. When you pick up an Impulse, you will be rewarded with the Impulse++ Q upgrade which gives quad Impulse. Further, you are unable to pick up copies of weapons you already have, and spewed primaries from destroyed ships will disappear after 30 seconds if not collected to prevent level clutter.

- CTF Carrier Boosting (defaults to off, only available in CTF). This option will prevent flag carriers from using boost in CTF. It will be shown in the UI by your boost always being in an overheat state. Note that this is a change in defaults. In 0.3.4 and prior it was always on.

- Loadout Settings -> Allowed Modifiers (defaults to all modifiers allowed) - Allows you to fine tune which modifiers are allowed in the game. If a player comes in with modifiers that are not allowed, they will be prevented from readying up, and will have to select one of the allowed modifiers before playing. They will be forcefully removed from the game when it starts up, and will not be allowed in a join in progress game with the wrong modifiers.

An attempt has been made to work around the known issue of ships being invisible when you join a multiplayer game in progress.

The multiplayer level selection screen now properly shows map descriptions.

entity_trigger_box_lava_alien and entity_trigger_box_lava_normal entities from the editor are now enabled in game.

Shenanigans, methinks.


Fixed a bug with silent thunderbolt.


- VSync options no longer assume 60 Hz, and the left arrow now works for it.
- Sniper packet projectiles are now seen correctly by other clients for all primaries except thunderbolt. Thunderbolt and all secondaries were already being seen correctly by all clients. This should make receiving damage from most primaries feel more consistent.
- Major JIP fixes, including preserving player scores, making players inactive until they spawn, and correctly-synchronized weapons.
- Creeper sync has been expanded to include time bombs.
- Projectiles are no longer able to be seen coming through walls on maps with multiple chunks. These projectiles would not cause damage, but were confusing to players.
- Thunderbolt charge and cyclone fire rate will no longer hold over after a death if you're holding the primary button down when you die and when you spawn.
- CTF flag duplication should no longer occur.
- 10 FPS floor for client-side ticks removed from multiplayer games.
- Race mode times are now displayed in m:ss.fff format.
- Servers should no longer crash when maps have missing resources, it should just bounce clients back to the lobby and continue functioning normally.
- Console now accepts left key input.
- Attempt to make GSync dnSpy fix more consistent.


- Client-side handling of games that use maps with missing resources. Clients will now be booted to the lobby in this case. Servers still crash, and is being tracked in issue #33.
- Match Presets left arrow now works.
- Sniper packets mod is now on by default, and no longer has an option to be turned off. The only time a v0.3.2 server should start a game without the sniper packets mod is when the client that starts it does not have the sniper packets mod.
- Clients without the sniper packets mod can now join games with the sniper packets mod, but won't have the benefit of sniper packets enabled for them.
- Devastators will still exhibit some strange client-side behavior, and is being tracked in issue #29.


* Potential bug fix to other players' devastators remaining in the game as a broken physics object after being manually detonated.
* can now be ran from any directory if you provide the -gamedir argument for the path to the Overload executable.

Note: v0.3.1.3 and earlier clients will still be able to start and play games on v0.3.2-beta.2 servers. However, if a v0.3.2-beta.2 client starts a game with sniper packets, v0.3.1.3 and earlier clients will not be able to join.


- Replaces default networking model with a sniper packets style, resulting in more consistent network play.

- Better synchronizes energy, ammo, weapon choice, missile counts, and devastator firing/triggering when using sniper packets.

Note: v0.3.1.3 and earlier clients will still be able to start and play games on v0.3.2-beta.1 servers. However, if a v0.3.2-beta.1 client starts a game with sniper packets, v0.3.1.3 and earlier clients will not be able to join.

- Fix for observer first person view

- Add view player option to observer mode, by roncli

- Fix for observer joining in progress match

- Fixed creeper sync server controlled explosions

- Add creeper sync support

- Join-In-Progress: Better support for joining while match starts/ends

- Fixes for server browser (support old game build, fix lan/internet match after using server browser, allow esc key)

- Added server browser by Tobias
- Fix boost reset on spawn fix

- Fixes for upcoming Overload version

- Support for upcoming Overload version

- Fix partial team mode in race mode

- Better support for no lap limit
- Changed lap limit setting increments
- Fixed race mode scoreboard sorting
- Default to instant respawn for race mode
- Fixed bumping sound after leaving match
- Fixed 3 or more team matches

Added Race mode by Tobias
Support for mac
Show current team score when joining in progress match
Reset boost heat on respawn
Mod loading speedup

- Added fire macro/mouse wheel prevention by roncli
- Added sudden death option for MB/CTF matches by roncli
- CTF: Score on touching flag instead of goal
- CTF: Fix scoring when flag is returned
- CTF: Disable flag pickup when dying

- Added O1L match preset
- Preserve LD_PRELOAD on linux by derhass

Changes since
- Added MP Presets by Tobias
- Less strict item pickup for inverted segment MP levels, originally by terminal
- CTF: Added lost flag return timer
- Show HUD messages and flag status on MP death screen
- Added long MP password support by Tobias
- Increased simultaneous sounds to 512 (formerly mod-moreaudio)
- Disable super spawn when no spawnable items specified
- Support for internet server ping

- Disable sometimes unreliable 'grate' pickup check in MP
- Added long MP password support by Tobias

- Added MP Presets by Tobias
- Increased simultaneous sounds to 512 (formerly mod-moreaudio)

CTF return timer fixes

- CTF: Added return timer

- Disable super spawn when no spawnable items specified

- Fix Impulse in Warrior loadout when used with Bomber (serverside)
- Disable super alarm in levels without super spawn (serverside)

- Always make all MP loadouts available and use impulse instead of reflex for Warrior (with help from terminal)
- Fix for missing doors and teleporters in MP levels

- MP server support for new tracker (by roncli)
- MP hunter speed reduced (for updated client & server)
- Client side homing tracking improved (by terminal)
- Prevent power-ups moving through ceiling in outdoor levels (by terminal)
- Added Join/Create again after match
- Fixed JIP team balancing
- Added internet server (without olproxy)
- MP damage log includes weapon lava explosions

- CTF: possible fix for persistent halo
- CTF: pickup sound changed to be less similar to super sound (by terminal)
- MP teams: added red enemy arrow to name in hud (by terminal)

- Added MP Capture The Flag (CTF) mode
- Observer mode visibility fixes by roncli
- MP Prev weapon switch fix byTobias
- Added "Create open match" to enable JIP more easily
- Disabled door opening when nearby in MP (with updated server)
- Fix for MP door visibility in some levels (with help from terminal)
- Added support for crystals and more fans/monitors in custom levels (with help from kevin)

- Adds MP level select screen

- Adds game stats tracking, by roncli

- Hopefully fixes team imbalance with JIP

- Fixes already exists with new level version on level download

- Disables weapon speed/lifetime randomization in MP

- Support for multiple level versions in level download

- Observer: double movement speed, show thunderbolt/missiles (server side fix), skip more level deactivation

- Join in progress: auto level download, fix for 0ms ping

A few client only changes:

- Sorts MP level list by name (by Tobias)

- Adds custom mod loading, add mod-xxx.dll assembly to olmod directory

- Adds -frametime command line option

- Allows spawn data for custom MP levels

- Allows custom music in custom levels

- Adds Internet match option with built in olproxy

- New server stat log with JSON output (by luponix)

- Experimental client side MP level download

- MP fixes: assist calculation (by roncli), no extra new weapon pickup sound, show olmod server version

- JIP fixes: match time no longer resets, shows joined player, fix for join in lobby

- join-in-progress fixes: join as observer, loadout data, preserve kda/time in match, start 1 player match

- console: option to enable console key `

- console commands: xp, reload_missions, mipmap_bias, ui_color

- -gamedir option

- Join in progress support

- Shoot to open doors in MP (by terminal)

- Paste in MP password field with Ctrl+V

- Monsterball: fix linux support, better weapon balance, use thunderbolt charge, only score with ball, support wind tunnels, no score after game ends (by terminal)

- Fix empty anarchy lobby bug

- Fixes for more than 8 players: joining, lobby UI, assist finding

- More monsterball tweaks: drag, speed cap, thunderbolt (by terminal)

- Removes log spam on windows server

- Added MP homing fix by terminal

- Added monsterball tweaks by terminal (weapons now hit monsterball, no more suicide penalty)

- Fix for CM/SP no damage bug, reported by sLLiK

- Hide empty teams, suggested by Yoshimitsu

- Observer & more teams fixes

- Added game stats log (by luponix)

Added support for up to 8 teams

- More 16 player tweaks, it appears to work now

- Added `frametime` non-cheat code and `rearview` cheat code

- Customize robot / projectile (weapon) data

- Stability fix for observer mode

- A few stability fixes for the Windows loader

- Added MP observer mode

- Attempt at MP 16 player support, not working currently

- linux support

Known bugs:

- observer mode fails if the game does not have focus when the match starts

Initial version

Recent Commits

23d2960 Merge branch 'master' of
52a5a37 Client Extrapolation mod from Whollycow.
35beada Merge pull request #73 from luponix/master

Fix for charge eating Thunderbolt swaps
14c2dac Fix for charge eating Thunderbolt swaps

Fixes the bug where if the player carried a Thunderbolt and picked up a weapon while charging, Autoselect would wait for the player to stop charging but would still initiate the swap (if the picked up weapon was of higher priority) to early for the TB shot to be actually fired.
503ffb1 Fix exception with creeper sync.

Fixes #62.
d6d575a Extra checks to ensure extra weapons do not spawn.

Fixes #63.
19f601d Merge pull request #71 from tobiasksu/joystick

Convert "Controller Axis Settings" to numerical sliders
b07c640 Merge pull request #70 from tobiasksu/modded_fix

Tweak **MODDED** version display mechanism
17c1f62 Merge pull request #69 from tobiasksu/presets_fix

Add CTF Boost and Classic Spawn to Match Presets
391980d Convert "Controller Axis Settings" to numerical sliders
2c9647a Tweak **MODDED** version display mechanism
262444d Add CTF Boost and Classic Spawn to Match Presets
46fd635 Fix bug with text of flag pickups.
5a11409 Version 0.3.5.
af1b659 Reduce initial primary spawn in classic mode from 30-60 seconds to 15-30 seconds. Remove 8 player cap for weapon count lerping.
b7e1c45 Fix bugs with classic and new primary spawns.
b57d7ac Despawn spewed primaries after 30 seconds in classic.
e8dc001 Silence weapon swap on player spawn, fix impulse priority in non-classic.
b9b5da3 Swap weapons/missiles to highest priority on spawn.
02e49e7 Fix bug with restoring extra primaries to the pool.
5d6fc89 Mark impulse as picked up when you get Impulse++Q.
97898b1 Fix bug with devastator selected warning going off multiple times.
4fa348f Fixes related to primaries mod, and removing code from Classic that's no longer necessary.
44e79b9 New primaries mod to change how primaries spawn.
5353aaf Fixes to classic mode so that single player is not affected.
ca73085 Autoselect updates from luponix.

- removed Highest/Pickup option
- fixed NextLastMissileBasedOnPriority
- cleaned up a bunch of by now unnecessary code
- we now allow secondary swap regardless of standard primary autoselect option
- dual laser will get swapped for everything
- enabling the primary autoselect will set the standard primary autoselect option to never
f408d80 Add instructions on autoselection options screen.
15cbee4 Fix bug with map description display in mutliplayer level selection screen.
00d536e Increase width of server version output in lobby.
f5d5333 Code cleanup, fix devastator autoselect detection.
bffb1cc Slightly more intelligent modding detection.
9e112d7 Merge branch 'autoselect'
9fddfac Get scroll wheel/page up/page down/arrow buttons to work on multiplayer customize menu for all 4 options.
be38c08 Prevent profile corruption when swapping to autoselect menu.
ae69dbc Toned down sounds, moved check for autoselect missiles to sniper packets, don't swap to missile if old ammo amount wasn't 0.
a2e954f Add files via upload

Compilation fixes 2.
5d84b1b Merge pull request #2 from overload-development-community/autoselect

Compilation & formatting fixes.
5a52344 Compilation & formatting fixes.
7031dea Attempt at a work around for invisible ship JIP issues.
619dca5 revert ui changes and fix swap behaviour
41e79af Merge pull request #1 from overload-development-community/autoselect

Add files to csproj, fix compile issues from usings.
d15b731 Add files to csproj, fix compile issues from usings.
a2d7a41 Merge pull request #58 from klmcdorm/lava-trigger

Add support for Box Lava Normal and Box Lava Alien entities
cab82b4 Add options for classic weapon spawns and for no boosting while flag carrying.
e02df3e Add support for Box Lava Normal and Box Lava Alien (particle effect) entities.
dc4dac9 Delays the swap of primary weapons when the player is currently firing
e7c9c36 Update MPAutoSelection.cs

prevents the UI from getting into a 203 state which would mess with the loadout selection
61bff9b changed the expected config file name

to avoid people running into issues with older incompatible configs
b23e327 Fixed old UI Issues
9a0c905 Update MPAutoSelectionUI.cs

changed the namespace to GameMod
9f94e77 Update MPAutoSelection.cs

changed the namespace to GameMod
de35ebc fixed references
912fbe0 Adds the Weapon Auto Selection Mod
2047c97 Require -modded argument to load mods, send modded status and mods loaded in capabilities. Server still needs to read them and handle them.
532b56d Yes, yes it is being called.
f5e452f Nice word.
fec519a Merge pull request #55 from tobiasksu/issue49

Issue #49 - MP Modifiers
fb118bc Merge pull request #54 from tobiasksu/issue47

Issue #48 - Rear View had a potential null condition which could render HUD inoperable
fbec446 Don't show rear view camera during pregame loadout selection
0900919 Inadvertantly checked in change to OutputPath for debug dll
73e11b6 Fix issue where rear view camera sometimes wouldn't be properly initialized and would require toggling to not bomb DrawHUD display
0b009f9 Issue #49 - Restricted Modifiers
580a671 Fix resolution selector.

Fixes #52.
3ab01f9 Fix merge error.
8740d2b Merge pull request #51 from tobiasksu/issue47_actual

Issue #47 - Scaling Respawn Timer
51331bc Merge branch 'master' into issue47_actual
da2d66f Nice word.
4276e2b Issue #47 - Scale Respawn Time
9aff006 Added rear view toggle to Match Presets
32eb11e Added rear view toggle to Match Presets
611bed5 Issue #47 - PIP Rear View option
14be038 Issue #47 - PIP Rear View option
d1943ad Merge branch 'master' of
e89f0a1 Update readme.
50d9354 Version 0.3.4, fix thunderbolt sound.
5a6a3dd Update Linux script to use stderr.
6497039 Version 0.3.3.
6351a34 Merge pull request #43 from tobiasksu/jip

JIP Improvements - Issue #21
2593ba1 Possible gsync fix, needs feedback.
201bcba Only send JIP info on disconnected players to client if on newer version
dbea8e4 Fix bug with older clients being unable to join in progress due to invalid messages being sent.
b591b89 Fix bug with older clients being unable to join in progress due to invalid messages being sent.
1300877 Fix bug with older clients being unable to join in progress due to invalid messages being sent.
7fd4285 Fix to sniper packet implementation.

Fixes #34.
339fce6 Issue #21 - Improve JIP handling of disconnected pilots
32a1253 From @tobiasksu, fix left arrow not working in console.

Fixes #41.
657d8d4 Fix Graphics Options VSync left arrow.

Fixes #39.
a9c4bc7 Fix flak/cyclone/thunderbolt charge/fire rate holding over after death.

Fixes #38.
23267c4 Fix ghost projectiles.

Fixes #31.
003e960 Fix bug with creeper sync.
a3ec3f9 Improve display of times in race mode. Include current lap time on the left side.
3666189 Don't make player active in JIP until their pregame countdown expires.

Fixes #32.
a35a110 Fix game clock slowing down in multiplayer when FPS goes under 10.

Fixes #16.
16e9174 Removed extra logging.
acdac97 Remove cases of flag duplication from CTF.

Fixes #13. See issue for details.
b9ca0a3 Upgrade creeper sync to creeper & time bomb sync, improve devastator client-side behavior.
efd2cce Check that multiplayer is active before handling sniper packets in cases where it has to get client MPTweaks.

Fixes #33.
ebc1e5e Typo fix.
955908c Version 0.3.2.
461cde4 Allow non-sniper packet clients to play in sniper packet games. Media Player