Skip to content

Latest commit

 

History

History
52 lines (42 loc) · 8.02 KB

README.md

File metadata and controls

52 lines (42 loc) · 8.02 KB

Deep Rock Galactic lua scripts for use with RE-UE4SS lua API to fetch current mission and deep dive data for flask

  • To run DRG headless, use command line arg -nullrhi when running the game.
  • Tested working with a Windows 10 virtual machine using -nullrhi (Requires OpenGL or dx11 for the UE4SS GUI if you want to use it).
  • Make sure to skip intro videos and also use -nosplash command line arg if desired.
  • Be sure to disable Steam cloud save synchronization.
  • Unzip UE4SS into steamapps\common\Deep Rock Galactic\FSD\Binaries\Win64 - this is also the CWD of the scripts run by the UE4SS hook.

Flask Service Setup

  1. Clone the repo or copy the flask directory to your debian or ubuntu machine
  2. cd into the flask directory and run python3 setup.py, then follow the prompts to set up the venv and systemd service + optional nginx reverse proxy.
  • It will install the service/venv to the /home/service_user/service_name folder specified by user input. Make Sure to note down the cfg.json it generates to copy to the scraper_cfg.json for the windows vm or simply input your own manually. It includes a prompt for setting up an nginx reverse proxy plus logic for if you pick a domain name and want to use certbot for it also.
  • Could do with some polishing but does the job well enough for now, cfg.json stuff is a bit wonky; probably better to handle those entirely manually.

Virtual Machine Setup

  1. Pick a VM Software (Virtualbox, VMWare, Qemu, etc) and install a Windows 10 machine. Give it at least 4 cores or it will run very poorly, and 4-8GB of ram.
  2. Pick your poison of which version of Windows, I recommend LTSC 21H2, it's more forgiving on disabling updates and stuff and is just generally more lightweight than the other distros.
  3. Make sure to turn off guest/host timesync if your chosen vm software has it; IE: https://www.virtualbox.org/manual/ch09.html#disabletimesync VBoxManage setextradata VM-name "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1 This is critical
  4. Have your cfg.json ready from the flask server setup.
  5. Run This batch script on your new Windows VM and follow the prompts.
  • The batch script will handle enabling the automatic logon of the windows user account, disables UAC, as well as prompts for Windows GUI performance options plus sets the system clock timezone to UTC and the correct date format for the lua scripts. It will also download and install python + its requests and psutil modules before installing steam and setting all relevant executables to be run with elevated privileges via the registry, as well as disabling automatic Windows updates.
  1. Make sure Steam auto logon is enabled, install Deep Rock Galactic, and set the launch options -nullrhi and -nosplash as well as skip intro videos
  2. Install the mesa-dist-win msvc release for enabling OpenGL on Qemu etc. Or, if running Virtualbox, you don't need this, you can just install the Virtualbox Guest Additions with 3d acceleration enabled and change this to dx11. *only needed if you want to run the ue4ss console gui
  3. Copy the cfg.json generated from the flask server setup as scraper_cfg.json, the .*_Run.py scripts, the drgmissions_scraper_utils.py library, and drgmissions_validator.py script to the Deep Rock Galactic\FSD\Binaries\Win64 folder
  4. Finally unzip UE4SS into the steamapps\common\Deep Rock Galactic\FSD\Binaries\Win64 and merge the mods folders.
  5. Run the desired scrapers via Scrapers_Run.cmd

TODO

  • Public Enemy Number One: Check and Update Deep Dive scraper weekly to accomodate currently unknown configurations (havent seen any unknowns in months), contingencies for if Steam misbehaves
  • Scripts for registry entries for automatic login and cron entry for starting vm weekly for DeepDives_Run.py
  • Fix canvas mission icon jaggies in js
  • Move static site to github pages, set up github actions for deployment of metadata and edit .*_Run scripts accordingly
  • Figure out a solution to reduce required delay between iterations for accurate data to be collected by the 30 minute incrementer
  • Figure out how to manipulate wine(?) system clock with hook on linux
  • Clean up and convert Complexity/Length finalization to table lookup seriously look at it its so disgusting DO SOMETHING
  • Parallelize png rendering and arraying functions and change png route args to codenames instead of indexing once possible

This is a third-party project and it is not affiliated, endorsed, or sponsored by Ghost Ship Games. The use of Deep Rock Galactic's in-game assets in this project is solely for illustrative purposes and does not imply any ownership or association with the game or its developers. All copyrights and trademarks belong to their respective owners. For official information about Deep Rock Galactic, please visit the official Ghost Ship Games website.