{"id":19388432,"url":"https://github.com/mk-fg/games","last_synced_at":"2025-04-23T23:31:44.766Z","repository":{"id":37741010,"uuid":"124534433","full_name":"mk-fg/games","owner":"mk-fg","description":"Misc game-related tweaks and tools that I tend to write","archived":false,"fork":false,"pushed_at":"2023-03-19T10:40:02.000Z","size":19714,"stargazers_count":9,"open_issues_count":0,"forks_count":10,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-02T22:32:35.291Z","etag":null,"topics":["games","linux","mods","scripts"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mk-fg.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-09T11:54:35.000Z","updated_at":"2024-11-11T21:52:39.000Z","dependencies_parsed_at":"2024-11-10T10:12:48.352Z","dependency_job_id":"8cc66759-3aff-4a8b-9847-6dd0608d4fab","html_url":"https://github.com/mk-fg/games","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mk-fg%2Fgames","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mk-fg%2Fgames/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mk-fg%2Fgames/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mk-fg%2Fgames/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mk-fg","download_url":"https://codeload.github.com/mk-fg/games/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250532069,"owners_count":21446109,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["games","linux","mods","scripts"],"created_at":"2024-11-10T10:12:40.244Z","updated_at":"2025-04-23T23:31:39.757Z","avatar_url":"https://github.com/mk-fg.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"Games\n=====\n-------------------------------------------------------\nMisc game-related tweaks and tools that I tend to write\n-------------------------------------------------------\n\nJust a collection of accumulated stuff in no particular order, to be able to\nlink or remember stuff occasionally.\n\nScripts here pretty much always have some -h/--help option/output, with\npurpose/usage and all options documented there, as tend to write these down to\navoid forgetting them myself.\n\nLikely to be out of date to a various degree for most games/mods that get updates.\n\n\n.. contents::\n  :backlinks: none\n\nRepository URLs:\n\n- https://github.com/mk-fg/games\n- https://codeberg.org/mk-fg/games\n- https://fraggod.net/code/git/games\n\n\n`Stellaris`_\n------------\n\nSometimes needs a bunch of fixes and/or balancing tweaks for whatever weird and\nunexpected game scenario you end up with, though extra content mods are nice too.\n\nMods are for post-2.0 era.\n\n- `Fast Cyborg Assimilation\n  \u003chttps://steamcommunity.com/sharedfiles/filedetails/?id=1322434314\u003e`_\n\n  Cybernetic assimilation mechanics were clearly developed for either gestalt\n  consciousness empires which have no politics, or egalitarian ones that have\n  all species rights granted by default.\n\n  Don't work well for authoritarian/xenophobe slavers, as this sets all\n  assimilating pops \"free\" for a long time, and keep resetting rights for\n  assimilated pops to \"full citizenship\" for no good reason.\n\n  Simple workaround implemented in this mod is to make process fast enough to be\n  less painful - more of a quick disruption than decades-long PITA.\n\n- `Strike Craft as Fleet Support\n  \u003chttps://steamcommunity.com/sharedfiles/filedetails/?id=1372641051\u003e`_\n\n  Rebalance mod for strike craft in Stellaris 2.0, making them into general\n  \"jack of all trades, master of none\" fleet support weapon, good against all\n  ship types without straight-up countering anything.\n\n- `Microwarpdrives\n  \u003chttps://steamcommunity.com/sharedfiles/filedetails/?id=1376483538\u003e`_\n\n  Adds technology and ship module similar to MWDs in EVE Online - hypercharged\n  afterburners that have some combat penalties at the expense of even higher speed.\n\n  Here they're mostly for logistical purposes - redeploy support ships faster\n  between starbases or chase down pirates with an overwhelming fleet of lighter ships.\n\n- `Glavius AI Sector Development Edicts\n  \u003chttps://steamcommunity.com/sharedfiles/filedetails/?id=1380893289\u003e`_\n\n  Tweak for `Glavius's Ultimate AI Megamod\n  \u003chttps://steamcommunity.com/sharedfiles/filedetails/?id=1140543652\u003e`_ to allow\n  more control over some annoying Sector AI decisions via empire/planetary edicts.\n\n- `Free Sector Resource Drain\n  \u003chttps://steamcommunity.com/sharedfiles/filedetails/?id=1372032752\u003e`_\n\n  Another simple (and likely temporary) tweak to fix weird cost on clicking\n  \"transfer resources\" button for AI-managed sectors, making them less of a nuisance.\n\n- `Tech Tier Numbers on Laser Icons\n  \u003chttps://steamcommunity.com/sharedfiles/filedetails/?id=1383042040\u003e`_\n\n  Also a tiny graphics fix for tech icons on one branch missing proper tech tier identifiers.\n\n- `Tech Tier Numbers on Tech Icons\n  \u003chttps://steamcommunity.com/sharedfiles/filedetails/?id=1527522376\u003e`_\n\n  Icon tweak similar to previous one, adding tech tier number to icons for most\n  techs that have a linear upgrade path.\n\n- `Shadowrun Name List\n  \u003chttps://steamcommunity.com/sharedfiles/filedetails/?id=1363348791\u003e`_\n\n  Extensive Name List from The Sixth World of Shadowrun cyberpunk dystopia universe.\n\n  | Pulled/generated by scripts from shadowrun.itemcards.com name generator.\n  | Scripts are in the repo alongside resulting list.\n\n- `Sector AI Building Edicts\n  \u003chttps://steamcommunity.com/sharedfiles/filedetails/?id=1577368151\u003e`_\n\n  Toggleable empire/planetary edicts which allow to veto some of the sector AI\n  building decisions, e.g. prohibit it to build farms everywhere or on some\n  subset of planets where it doesn't make sense.\n\n- track-mod-changes.py\n\n  Script to run before starting Steam to track changes in all subscribed and local mods.\n\n  Useful to spot recent mod changes that can potentially break the game or might\n  be the cause for whatever weirdness suddenly happening there, as well as\n  tracking whether these get up-to-date with the mainline patches.\n\n- combine-music-packs.py\n\n  Script to parse all .asset/.txt/.yml files in music mods and combine all\n  tracks from these into one mod, with track names having \"mod-name :: title\"\n  format in in-game player.\n\n  Using that with hundreds of tracks from mods will break in-game music player,\n  as it turns out (will render overflow as blank playlist) - definitely not\n  designed for that many :)\n\n.. _Stellaris: http://www.stellariswiki.com/\n\n\n`Factorio`_\n-----------\n\nGreat game, but found large-scale production required in late-game a bit too\nslow or tedious to setup or debug without bunch of repetition.\n\nEasy to fix with mods though, which are one of the best parts of the game.\n\n- `Will-o'-the-Wisps updated\n  \u003chttps://mods.factorio.com/mod/Will-o-the-Wisps_updated\u003e`_\n\n  Compatibility update (for Factorio 0.16.x) and bunch of tweaks to\n  `Will-o'-the-Wisps mod \u003chttps://mods.factorio.com/mod/Will-o-the-wisps\u003e`_\n  by Betep3akata, which seem to be abandoned since 0.15.x.\n  Pretty alien fauna mod with some challenge elements and couple unique mechanics.\n\n- `Moon Logic \u003chttps://mods.factorio.com/mod/Moon_Logic\u003e`_\n\n  Fork of `Sandboxed LuaCombinator`_ by IWTDU and LuaCombinator2_ by OwnlyMe,\n  allowing to pretty much just script game in Lua from within it, with a bunch\n  of QoL and usability enhancements and updates for modern factorio.\n\n  .. _Sandboxed LuaCombinator: https://mods.factorio.com/mod/SandboxedLuaCombinator\n  .. _LuaCombinator2: https://mods.factorio.com/mod/LuaCombinator2\n\n- `Biter Detector Sentinel Combinator\n  \u003chttps://mods.factorio.com/mod/Biter_Detector_Sentinel_Combinator\u003e`_\n\n  Easy-to-use alarm and detector/counter for biter enemies within range.\n\n- `Vehicle Cruise Control\n  \u003chttps://mods.factorio.com/mod/Vehicle_Cruise_Control\u003e`_\n\n  Adds GUI panel with buttons to toggle acceleration and brakes, so that you\n  don't have to hold W or S.\n\n- `Circuit Power Measurement Combinator\n  \u003chttps://mods.factorio.com/mod/Circuit_Power_Measurement_Combinator\u003e`_ /\n  `Circuit Power Measurement Pole\n  \u003chttps://mods.factorio.com/mod/Circuit_Power_Measurement_Pole\u003e`_\n\n  Power grid production/consumption measuring mods, outputting signals to\n  circuit network, which were curiously absent until now.\n\n- `Configurable Roboport Range\n  \u003chttps://mods.factorio.com/mod/Configurable_Roboport_Range\u003e`_\n\n  Small tweak to change Roboport building ranges.\n\n- `Switch Button 1.0\n  \u003chttps://mods.factorio.com/mod/Switch_Button-1_0\u003e`_\n\n  Compatibility update and fixes for a simple circuit network on/off button mod.\n\n- `Color Combinator Lamp Posts\n  \u003chttps://mods.factorio.com/mod/Color_Combinator_Lamp_Posts\u003e`_\n\n  Adds small always-on smart lamp posts with built-in color selection on click.\n\n- `Wildfire \u003chttps://mods.factorio.com/mod/Wildfire\u003e`_\n\n  Mod that starts forest fires on the map randomly.\n\n- `Burner Drill 4x4 Area\n  \u003chttps://mods.factorio.com/mod/Burner_Drill_4x4_Area\u003e`_\n\n  Changes Burner Mining Drills to have 4x4 resource search area instead of\n  default 2x2 (right under), and nothing else.\n\n- mod-portal-reverse-dep-check.py\n\n  Script to lookup what depends on specific mod using\n  `Factorio Mod Portal API \u003chttps://wiki.factorio.com/Mod_portal_API\u003e`_.\n\n  | Does as much caching as possible to allow running many lookups.\n  | Run with -h/--help option to get usage info.\n\n- mod-list.yaml - list of mods from when I last played (should include base game\n  version number) and backed it up.\n\n- lua-combinator-code.txt - some code snippets for lua combinator mod(s) mentioned above.\n\n- doomeer-factorio-calc.index.html - replacement index.html for online `doomeer/factorio`_\n  production-chains calculator to fix only major issue I had with it - filled-in\n  fields visually lost among pointless pre-filled \"0\" values or just empty ones\n  (filed as `doomeer/factorio#75`_).\n\nUseful companion links for the game:\n\n- http://doomeer.com/factorio/ - production chain calculator, simpliest one.\n- https://rubyruy.github.io/factorio-calc/ - same as above, but found it harder to use.\n- https://kirkmcdonald.github.io/calc.html - also rates-calculator, with belts and power.\n- https://factoriocheatsheet.com/ - good cheatsheet for numbers/ratios.\n\n`Factory Planner`_ and similar mods do a good enough job with in-game GUIs and\ndata these days, so above calculators aren't really necessary, even with non-modded game.\n\n.. _Factorio: http://factorio.com/\n.. _doomeer/factorio: http://github.com/doomeer/factorio/\n.. _doomeer/factorio#75: https://github.com/doomeer/factorio/issues/75\n.. _LuaCombinator 2 mod: https://mods.factorio.com/mod/LuaCombinator2\n.. _Factory Planner: https://mods.factorio.com/mod/factoryplanner\n\n\n`Surviving Mars`_\n-----------------\n\nGreat sci-fi city builder, kinda like Outpost games of old,\nbut with much lighter tone, and on Mars.\n\nMinor quality-of-life and balancing lua tweaks, most of which only live in repo\nhistory, obsoleted by official game updates:\n\n- `cheaper-consumer-items \u003chttps://www.nexusmods.com/survivingmars/mods/4\u003e`_\n\n  70% cheaper Art and Electronics shop consumables for crowded domes, as they\n  really slow production down needlessly otherwise.\n\n- `university-entrance-exams \u003chttps://www.nexusmods.com/survivingmars/mods/6\u003e`_\n\n  Bars mentally challenged colonists from studying in Martian University,\n  leaving them in service jobs forever, where they can do relatively little harm.\n\n- `no-border-scrolling \u003chttps://www.nexusmods.com/survivingmars/mods/5\u003e`_\n\n  For some reason it's extremely sensitive and annoying here, though maybe\n  because I tend to move cursor from the window to tweak lua way too often.\n\n- `place-mark-at-cursor \u003chttps://www.nexusmods.com/survivingmars/mods/93\u003e`_\n\n  | Adds hotkeys to place colored hexes to mark locations anywhere on the map.\n  | Useful to remember or temporarily mark various building reach areas to plan stuff.\n\n- `disable-maintenance-button \u003chttps://www.nexusmods.com/survivingmars/mods/94\u003e`_\n\n  Adds button to toggle whether drones will patch building up when maintenance is required.\n\n- `green-mars-terraforming-lightmodel \u003chttps://www.nexusmods.com/survivingmars/mods/95\u003e`_\n\n  | Covers mars terrain and atmosphere with greenish bioluminescent microbiotic life.\n  | Simple lightmodel switch, was made before DLC with the same name came out.\n\n- polymers-production-buff, unlock-oval-dome, quick-cash-refund\n\n  More small local balancing hacks and local tweaks to other mods.\n\n- console\n\n  Mod Editor console extension with a bunch of useful tools, like recursive\n  pretty-printers, dumping stuff to files, running lua scripts from files and such.\n\n  Requres bootstrap via initial console via ``c.init(load)`` command, to give access\n  to full _G env for all subroutines there, ``c.h()`` for more info on all the tools there.\n\n- sm-music-pls.py\n\n  Script to reshuffle music files extracted from HPK archives\n  (e.g. via `nickelc/hpk \u003chttps://github.com/nickelc/hpk\u003e`_ tool),\n  producing game-radio-like playlist with radio blurbs/talks interspersed with music.\n\n.. _Surviving Mars: https://www.survivingmars.com/\n\n\n`Crusader Kings 3`_\n-------------------\n\nSame as with other PDS games, it badly needs fixes after every major patch and in general.\n\n- Missing hairstyle randomizer\n  [`Steam \u003chttps://steamcommunity.com/sharedfiles/filedetails/?id=1322434314\u003e`_,\n  `PDX Plaza \u003chttps://mods.paradoxplaza.com/mods/22441/Any\u003e`_]\n\n  Fixes an issue with most characters in the game going bald when loading 1.2.x\n  game after 1.3.0 patch - very simple and purely aesthetic one-off bugfix.\n\n.. _Crusader Kings 3: https://ck3.paradoxwikis.com/\n\n\n`Darkest Dungeon`_: darkest-dungeon-save-manager.py\n---------------------------------------------------\n\nCheat tool to backup DD save games, as it's too hardcore, random-bs and grindy\nfor my tastes.\n\nSo simple fix is just to allow some (minor) save-scumming, which is what this\ntool does - allows to copy saved game state to multiple slots, like with any\nless hardcore game.\n\nUsage::\n\n  % ./darkest-dungeon-sm save\n  % ./darkest-dungeon-sm save some-slot-name\n\n  % ./darkest-dungeon-sm list\n  % ./darkest-dungeon-sm   # same thing\n\n  % ./darkest-dungeon-sm restore   # latest slot\n  % ./darkest-dungeon-sm restore some-slot-name\n  % ./darkest-dungeon-sm restore any-name-part\n  % ./darkest-dungeon-sm restore .5.\n\n  % ./darkest-dungeon-sm remove -n10   # show 10 oldest slots to cleanup\n  % ./darkest-dungeon-sm remove -n10 -x   # actually remove stuff\n\nRemove some tension from the game for sure, if you know that the save is not\nthat far-off, but at least it's playable that way.\n\n.. _Darkest Dungeon: http://www.darkestdungeon.com/\n\n\n`Satellite Reign`_: sat-reign-pick-clone.py\n-------------------------------------------\n\nSimple script to find clone id in savegame xml by specified parameters.\n\nMostly cosmetic thing - allows to transplant some game-important parameters into\nclone/agent with specific appearance, which was (maybe still is) cool because\nthere are all sorts of fancy cyberpunk character models in that game, but you\ncan't switch these for agents without sacrificing stats.\n\nUsage:\n\n- Pick whatever clone you want to use ingame, remember their stats.\n\n- Run tool to find id of that clone in savegame by stats::\n\n    ./sat-reign-pick-clone.py 'h: 5, s: 9, hr: 0.05, e: 0, er: 0' sr_save.xml\n\n- Find that id in xml, paste stats from current (up-to-date) agent clone into\n  weak clone with that id and appearance, so it'd be viable to use.\n\n- Load game and swap agent into that clone.\n\n.. _Satellite Reign: http://satellitereign.com/\n\n\n`Anno 2070`_\n------------\n\nCity layouts and production chains, as that's pretty much all there is in that\ngame, plus pretty graphics ofc.\n\n- layout-\\*.png\n\n  | City layout templates, probably nicked from wikia.\n  | For early techs this is kinda important, as costs are quite high there.\n  | Usually use large corridor layout for sprawling non-tech cities.\n\n- production-chains-best.{png,xcf}\n\n  Production chain ratios, space requirements (production \"field\" count/size),\n  and numbers for how much demand they satisfy, as getting them right through\n  trial and error is very wasteful and hard to remember them all.\n\n.. _Anno 2070: http://anno2070.wikia.com/\n\n\n`Kerbal Space Program`_ (KSP)\n-----------------------------\n\nBunch of delta-V and aerobraking maps, along with some outdated mod tweaks.\n\nUseful online resources:\n\n- https://alexmoon.github.io/ksp/ - launch windows visualized as heatmaps.\n\n.. _Kerbal Space Program: https://kerbalspaceprogram.com/\n\n\n`OpenXCOM X-Piratez mod`_\n-------------------------\n\nExtensive total conversion for OpenXCOM, and one of the best strategies\nof its type, if complexity, longevity and rather slow pacing is your thing.\n\nFair warning though - art/text in that mod can get a bit weird.\n\n- `piratez-melee-calc.html\n  \u003chttps://mk-fg.github.io/games/openxcom/piratez-melee-calc.html\u003e`_\n\n  Web-based calculator tool for quick item comparison, mainly for melee item\n  stats' calculations, as these get complicated quickly in this mod.\n\n  Can be used with json cache file comitted in the repo via link above,\n  otherwise just put html and generated json cache (see below) into same path\n  and run html via browser.\n\n  Intended use is to search and pick any number of currently-available weapons\n  for comparison table, then plug unit stats at the top and pick whatever is\n  best based on rough \"dpu\" value (power * accuracy / tu cost).\n\n  Can calculate power/accuracy/dpu for ranged weapons that have formulas as\n  well, but without taking range and all penalties associated with it into account.\n\n  Based on an earlier curses-based linux console python calculator tool (which\n  can be found in the repo history), translated to web-based to not be linux-specific.\n\n  Uses json cache file generated from multiple ruleset/localization files of the\n  mod by piratez-melee-calc.py script.\n\n- piratez-melee-calc.py\n\n  Generates json cache files like piratez-melee-calc.json next to it in the repo.\n\n  See -h/--help output there for option info, but basic usage goes something like this::\n\n    % ./piratez-melee-calc.py cache.json \\\n      -r user/mods/Piratez/Ruleset/Piratez.rul \\\n      -m user/mods/Piratez/Ruleset/'Gun CqC'.rul \\\n      -l standard/xcom1/Language/en-US.yml \\\n      -l user/mods/Piratez/Language/en-US.yml\n\n  piratez-extract-rulesets.sh helper script next to it basically does that for\n  all XPiratez dirs under current one, extracting versioned/cleaned rulesets\n  (to run diff on them) and creating json caches for each.\n\n- oxce-loadout-manager.py\n\n  | Script to save/restore armor + loadouts for all soldiers from/to a specific save file.\n  | Useful for mass-switching loadouts for when diff missions require diff armors (e.g. land, sea, infiltration).\n\n- battlescape-save-end-cheat.py\n\n  | Tweaks battlescape save file to make all enemies on the map surrender or get stunned.\n  | Quick and dirty fix for \"find last enemy\" problem, which can often be pointlessly tedious.\n\n- remove-map-block-lights.py\n\n  | Edits specified map block to remove all light/glow from tiles used in it by patching light-byte in mcd files.\n  | Intended for removing craft cabin lights, as these can make starts on night missions really annoying.\n  | Usage: ./script --dry-run -d user/mods/Piratez user/mods/Piratez/Ruleset/Piratez.rul 'crafts type=str_fatsub'\n\n.. _OpenXCOM XPirateZ mod: https://www.ufopaedia.org/index.php/Piratez\n\n\nMisc Scripts\n------------\n\nHelper scripts not related to specific games.\n\n- `gog-unpack.sh \u003cgog-unpack.sh\u003e`_\n\n  Script to unpack GoG (gog.com) linux archives without running makeself and\n  mojosetup.\n\n  They seem to have ``[ N lines of makeself script ] || mojosetup.tar.gz ||\n  game.zip`` format, and script creates \\*.mojosetup.tar.gz and \\*.zip in the\n  current directory from specified .sh pack, using only grep/head/tail coreutils.\n\n  Usage: ``./gog-unpack.sh /path/to/gog-game.sh``\n\n  Note that zip can have configuration and post-install instructions for\n  mojosetup in it (under \"scripts/\"), plus misc assets like icons and such.\n\n- `faketimectl \u003cfaketimectl\u003e`_\n\n  Trivial Py3/Gtk3 app to control libfaketime_ rate via global hotkeys\n  (using libkeybinder3_) and display it.\n\n  Idea is to run a game with e.g.::\n\n    LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1 FAKETIME_CACHE_DURATION=3 \\\n    FAKETIME_XRESET=1 FAKETIME_TIMESTAMP_FILE=/tmp/faketime.rc ./game/start.sh\n\n  And have this script adjust its running speed via these keys, kinda like\n  `Cheat Engine`_ \"speedhack\" tool does on Windows, allowing to play\n  fast games at a more chill pace easily.\n\n  Run script with -h/--help option to get a list of default hotkeys and other\n  options/usage info.\n\n  Rate adjustments are picked-up after FAKETIME_CACHE_DURATION seconds,\n  when libfaketime re-reads that file.\n  FAKETIME_NO_CACHE can be used to remove that delay entirely, at the cost of\n  extra file read/parsing on every time-related call - probably not ideal.\n\n.. _libfaketime: https://github.com/wolfcw/libfaketime\n.. _libkeybinder3: https://github.com/engla/keybinder/tree/keybinder-3.0\n.. _Cheat Engine: https://www.cheatengine.org/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmk-fg%2Fgames","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmk-fg%2Fgames","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmk-fg%2Fgames/lists"}