Skip to content

A collection of different optimizations for Garry's mod server and client

Notifications You must be signed in to change notification settings

realpack/optimaize_gmod

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

  • gm_addon_optimization_tricks Tips & Tricks to make your addon slim and fast

  • gmod_random_patches A kit of in-game fixes not affecting gameplay but making the game more productive and fixing some bugs.

    Most of the patches are already in the repository, but I thought it would be worth adding this as well.

  • cl_limit_render.lua

    • Disables the HDR player hardware. (High Dynamic Range)
    • Disables Pixel Shaders 2.0/1.4 and Vertex Shaders 2.0
    • Sets the maximum available DirectX version.
  • Hook-Library This is a simple, realible, fast and optimized hook library for Garry's Mod. It's well tested and will not mess anything when added to your server. It can/should improve your server performance.

  • BadCoderz "Find unoptimized gmod addons and KILL the devs who made them"

  • Simple-Render-Distance Addon that allows you to change render distance of certain categories of entities on your server

  • gmod-lua-performance A simple comparison of performance optimizations for gLUA

    • These are a few benchmarks that are tested on a Garry's Mod Server idling with DarkRP with only 1 player online. Some of those benchmarks, if possible, were also tested in a LUA5.3 console on Debian 10. If not otherwise stated differently all tests have been done on a gmod server on linux.
  • gmsv_async_stdout This is a Garry's Mod server module that moves -condebug file I/O out of the main thread, which should significantly improve performance for noisy servers.

  • gm_microoptimisation_war_crime This attractively named repository contains a Garry's Mod module that performs a micro optimisation that makes use of LuaJIT's constant folding on all Lua scripts.

    • The module intercepts the loading of Lua scripts and preprocesses the Lua code to replace all instances of SERVER and CLIENT with true and false depending on the current realm.
  • sh_disable_widgets.lua Disables unnecessary widget hooks that no one ever uses.

  • sh_limit_phys.lua Changes the physics of objects, both for the server and for the client.

  • sh_nw_to_nw2.lua "I don't think this is a good idea for now, NWVars2 have some problems right now which need fixing before this can be even considered."

  • sh_remove_ents.lua Deletes entities that are not normally used. I think it's worth checking if you're using any of the list.

  • sh_remove_hooks.lua Deletes hooks that. Also check if you need to.

  • cl_remove_ragdolls.lua

    • Starts a timer to delete all ragdolls and objects on the client side.
    • Disables the unnecessary depth display hook after death.
  • sh_umsg_to_net.lua Forces the obsolete umsg library to use the new net.

  • sv_animation.lua Disables server-side movement of the mouth and ears.

  • sv_run_commands.lua Runs a bunch of commands to optimize the client and its graphics. Some idiot wrote this, but it seems to work.

  • sv_seatsoptimaize.lua Makes corrections to the seat network?

  • cl_fontcache.lua Caches fonts and prevents them from being overwritten without changes.

  • cl_blink_gc.lua "This addon will check your client's current LUA memory and if too much memory is being used, will manually call for a collection of unused memory." BlinkGC

    • Reduces the amount of crashes you have due to bloated addons.
    • Gives information in your console about your Active LUA Memory.
  • simplegc/sh_simplegc.lua Regularly adjusts garbage collector behavior to reduce performance overhead. scuroinside/snippets


Here are just some observations that might help you.

  • In ./srcds_run - find the lines ulimit -c 2000 and replace it with ulimit -c unlimited. This will allow us to use more resources and remove some segmentation errors.

  • You can play with the values in server.cfg:

      mem_max_heapsize "2048"
      threadpool_affinity "4" // 8 for octa-core, 6 for hexa-core, 4 for quad-core, 2 for double-core
  • Startup parameters:

    -high High process priority

    -novid Disables video decoding function - disables codec, not splash screen, does not affect video work directly in the game, - the effect on fps is negligible

    -malloc=system Allows you to choose the size of memory blocks = loads the RAM, offloads the CPU

    -swapcores allows you to change threads for materials

    -softparticlesdefaultoff Disables particle depth filter - gives fps boost, reduces quality of particles

    -gl or -r_emulate_gl Simulates OpenGL on Windows - high fps boost, does not work for everyone

About

A collection of different optimizations for Garry's mod server and client

Resources

Stars

Watchers

Forks

Languages