= DZGUI documentation DayZ community server graphical launcher for Linux | Last updated: 2022-09-08 :nofooter: :toc: left :stylesheet: custom.css == What this is A GUI version of https://github.com/aclist/dztui[DZTUI] for Linux. Used to list community server details and quick connect to preferred servers by staging mods and concatenating launch options automatically. DZGUI contains some expanded functionality that will eventually be backported to DZTUI. It is intended to be more of a user-friendly, turnkey solution for graphical desktop environments, and could also be used on the Steam Deck or similar devices. == Setup === Dependencies If not already installed, the below can be found in your system's package manager. - `curl` - `jq` - `zenity` - `steam` === Preparation . Download DZGUI and make it executable: **Automatic method (skip to 3 below when complete)** ``` curl -s "https://raw.githubusercontent.com/aclist/dztui/dzgui/install.sh" | bash ``` **Manual method** ``` chmod +x dzgui.sh ``` [start=2] . Update the `vm.max_map_count` value (see https://www.protondb.com/app/221100) Ephemeral method: ``` sudo sysctl -w vm.max_map_count=1048576 ``` Persistent method: ``` echo 'vm.max_map_count=1048576' | sudo tee /etc/sysctl.d/dayz.conf ``` [NOTE] If it detects an incorrect map count value, DZGUI will prompt you to permanently update the map count value when starting up. [start=3] . Steam account with DayZ license . Enable a Proton version ≥ `6.8` (or use Experimental) in the **Compatibility** field of the game's right-click options. === API key & server IDs 1. Register for an API key at https://www.battlemetrics.com/account/register?after=%2Fdevelopers[BattleMetrics] (free) 2. From the **Personal Access Tokens** area, Select **New Token** 3. Give the token any name in the field at the top 4. Leave all options **unchecked** and scroll to the bottom, select **Create Token** 5. Copy the access token for later use (see below). This is the unique token you will use to query servers. 6. Use the https://www.battlemetrics.com/servers/dayz[DayZ server browser] to find servers of interest (proximity, player count, rules, etc.) 7. Each server has a unique ID. This is the string of numbers at the end of the URL. Copy these IDs. For example, in the URL https://www.battlemetrics.com/servers/dayz/8039514, the ID is `8039514`. [NOTE] You will be prompted to enter these IDs when starting the app, so you could refer to them in another window while you complete setup. More IDs can be added later. === First-time launch 1. DZGUI can be launched one of two ways. **From the terminal:** ``` ./dzgui.sh ``` Launching from the terminal gives more verbose information, and can be a good way of troubleshooting problems. **From the shortcut shipped with the application:** *If using a desktop environment based on the Freedesktop specification - Located under the "Games" category of your system's applications list. - Via the DZGUI desktop shortcut (Steam Deck only) [start=2] 2. Follow the menu prompts given by the app. You will be asked to provide: - API key (see above) - Player name (a generic handle, required by some servers) - At least one server ID DZGUI will then attempt to locate your default Steam installation and DayZ path. If it detects multiple paths, you will be given a list to choose from. [NOTE] If the path was not detected correctly, you can manually edit the config file at `$HOME/.config/dztui/dztuirc`. === Steam integration & artwork ==== Adding to steam DZGUI can be added to Steam as a "non-Steam game" in order to facilitate integration with Steam Deck or desktop environments. 1. Launch Steam in the "Large" view. [NOTE] Steam Deck: you must switch to "Desktop Mode" and launch Steam from the desktop. [start=2] 2. Select **Add a Game** > **Add a Non-Steam Game** from the lower left-hand corner. image::https://github.com/aclist/dztui/raw/testing/images/tutorial/01.png[01,500] [start=3] 3. Navigate to `$HOME/.local/share/applications/` and select `dzgui.desktop` 4. Select **Add Selected Programs**. ==== Controller layout An official controller layout for Steam Deck is available in the Steam community layouts section. Search for "DZGUI Official Config" to download it. Long-press the View button and Select button (☰) to toggle D-pad navigation. You can navigate through menus using the D-pad and use A/B to respectively confirm selections and go back. ==== Artwork The application also ships with Steam cover artwork. It is located under: ``` $HOME/.local/share/dzgui ``` The artwork consists of four parts: 1. Grid: a vertical "box art" grid used on library pages 2. Hero: a large horizontal banner used on the app's details page 3. Logo: a transparent icon used to remove Steam's default app text 4. dzgui: used by freedesktop shortcut to generate a desktop icon; not intended for the user Updating the artwork: 1. Navigate to the app's details page and right-click the blank image header at the top. image::https://github.com/aclist/dztui/raw/testing/images/tutorial/03.png[03,700] [start=2] 2. Select **Set Custom Background** 3. Select to display All Files from the File type dropdown 4. Navigate to the artwork path described above and select `hero.png`. 5. Next, right-click the image background and select **Set Custom Logo**. image::https://github.com/aclist/dztui/raw/testing/images/tutorial/04.png[04,700] [start=5] 5. Navigate to the same path and select `logo.png`. Notice that this removes the redundant app name that occluded the image. image::https://github.com/aclist/dztui/raw/testing/images/tutorial/05.png[05,700] [start=6] 6. Next, navigate to your Library index (looks like a bookshelf of cover art) and find the DZGUI app. [start=7] 7. Right-click its cover and select **Manage** > **Set custom artwork**. image::https://github.com/aclist/dztui/raw/testing/images/tutorial/06.png[06,700] [start=8] 8. Navigate to the same path and select `grid.png`. The final result: image::https://github.com/aclist/dztui/raw/testing/images/tutorial/07.png[07,700] === Updating the app If DZGUI detects a new upstream version, it will prompt you to download it automatically. It backs up the original version before fetching the new one, then updates your config file with your existing values. Once finished, it will ask you to relaunch the app. If you decline to upgrade to the new version, DZGUI will continue to the main menu with the current version. [NOTE] New versions may include changes to bugs that could prevent you from playing on certain servers. Upgrading is always advised. If you experience a problem or need to restore the prior version of DZGUI and/or your configs, it is enough to simply replace the new version with the old one and relaunch the app. The files can be found at: Script: ```