/gtavd

The Grand Theft Auto V daemon for third-party modification management.

Primary LanguageGoMIT LicenseMIT

gtavd

gtavd is a Grand Theft Auto V daemon for third-party modification management. According to wikipedia, a daemon is a computer program that runs as a background process, rather than being under the direct control of an interactive user.

As just previously stated, this tool allows Grand Theft Auto V modding enthusiasts to run common tasks derived from modding activities with almost no user-interaction. The main benefit of gtavd is to ease overall modding operational overhead (e.g. updating the dlclist.xml file everytime a new addon mod is added, enabling/disabling specific scripts, keeping files in-sync between multiple devices).

Table of Contents

How-To

Install Daemon

gtavd is bundled with the gtavd.exe binary executable and a service-installer.bat Windows script. To install the daemon, run the service-installer.bat script with Administrative Privileges/Run as Admin. Look at the script output to check if an error happened during the execution. If no error was found, verify if the daemon is running by opening the Task Manager and looking for the gtavd.exe background process.

Run as a Program (Standalone version)

gtavd is bundled with a gtavd_standalone.exe binary executable. This executable contains most of the features the daemon offers. Nevertheless, the standalone version WILL NOT run as a background process -no Windows Service is required-.

To run the executable, double-click the file. As a matter of fact, this version will prompt a Windows console (CMD or Powershell).

Change Configuration

gtavd is fully configurable using the gtavd.config file. It contains a set of definitions the daemon will use to perform tasks. Be aware some configurations such as module enabling require the RESTART of the service to take effect.

The configuration file is located under the user's HOME path (e.g. C:/Users/YOUR_USERNAME/.gtavd). Enabling the Show hidden files Windows Explorer feature MIGHT be required in order to be able to see the .gtavd folder.

Restart/Stop the Service

gtavd runs as a Windows service. In order to restart or stop the service:

  • Go to task manager, click on More details and look for the gtavd.exe process.
  • Once found, click on the left arrow to expand the process item and the service will be shown (represented as the only item within the process with a gear icon).
  • To stop the service, right-click the service and select Stop.
  • To restart the service, right-click the service and select Open Services.
    • A new window will open with the services list, look for the Grand Theft Auto V Modification Daemon service.
    • Once found, right-click the service and select Restart.

Access to Logs for Troubleshooting

gtavd makes use of the rotating-file logging technique. This means it generates logs gzip-compressed and partitioned by default along a log removal after n days mechanism (default is 14 days). Furthermore, the logs are partitioned by size (default is 128 MB). Finally, gtavd streams logs into the stderr too.

The log files are located under the user's HOME path (e.g. C:/Users/YOUR_USERNAME/.gtavd/logs). Enabling the Show hidden files Windows Explorer feature MIGHT be required in order to be able to see the .gtavd folder.

Features

Dlclist.xml Automatic Generation

The dlclist module is a background-running task detecting changes of both /mods/x64/dlcpacks and /x64/dlcpacks directories of a Grand Theft Auto V game. When a change is detected, the module receives a notification and generates automatically a dlclist.xml file ready to be imported into update.rpf file using OpenIV.

Feature Roadmap

  • Script blacklisting. Enable or disable script mods (e.g. .rph, .ini, .dll, .asi) using a blacklist mechanism. Blacklisted scripts will be moved to a temporary folder, so they can be later re-enabled.
  • Cloud-sync of configuration files. Useful to keep a global configuration between multiple machines.
  • Cloud-sync of mods files. Useful to keep a set installed mods between multiple machines. It MIGHT just keep in-sync the mods folder and lightweight scripts to reduce overall cloud storage consumption.