dayz-ctl – Dies ist ein experimenteller Launcher (Server-Explorer und Launcher) DayZ auf Steam Proton für Linux.
Dieses Dokument ist in den Sprachen verfügbar: eng ??, rus ??, ua ??
Zum Zeitpunkt dieses Projekts war Bohemia Interactive noch nicht in der Lage, einen funktionierenden Launcher für das Spiel zu erstellen, der Modifikationen korrekt installieren und eine Verbindung zu Spielservern herstellen konnte. Deshalb wurde dieses Projekt geboren.
Hauptmerkmale:
Besonderer Dank geht an dayz-linux-cli-launcher für die Idee und dayzsalauncher für die API.
Launcher-Demo
Hauptmenü | Serverbrowser |
Serverfilter | Nach Karte filtern |
Ausgewählte Filter angewendet | Favoriten-Browser |
Verlaufsbrowser | Fuzzy-Suche |
Offline-Modus | Mods für offline |
Server-Mods | Mods-Info |
Konfigurationsmenü | Startoptionen |
Über das Menü | DayZ-Nachrichten |
Es gibt zwei Betriebsmodi des Launchers mit und ohne Verwendung von SteamCMD, um Mods im manuellen Modus zu verwalten.
Sie können beide Ansätze kombinieren, zum Beispiel durch einen Klick auf den Link diejenigen Modifikationen abonnieren, die Sie in Zukunft unbedingt benötigen, und über den Launcher nach Updates suchen oder Update-Mods erzwingen. Außerdem können Sie die „zweifelhaften 50 Mods“ des nächsten Servers nicht abonnieren und diese einfach mit einer Aktion aus dem Launcher entfernen, während alle Mods, für die Sie ein Abonnement haben, erhalten bleiben.
Um die Installation zu vereinfachen, gibt es ein kleines Skript, das alles für Sie erledigt (versuchen Sie es zumindest).
Führen Sie Folgendes aus:
curl -sSfLA dayz-ctl bit.ly/3Vf2zz3 | bash
Damit der Launcher funktioniert, müssen Sie sicherstellen, dass alle Abhängigkeiten installiert sind:
ping
( iputils-ping
) – Finden Sie den Ping zum Server heraus (wo ICMP aktiviert ist)geoiplookup
( geoip-bin
) – Finden Sie das Land heraus, in dem sich der Server befindetwhois
– Ersatz für Geoiplookup, weniger genau und langsamer, aber nicht alle Einträge sind in der Standard-GeoIP-Datenbankcurl
– Dienstprogramm zur Kommunikation mit verschiedenen APIs über HTTP/Scut, tr, grep, pgrep, pkill, killal, timeout, sed, awk
( gawk
) – wo ohne klassische Dienstprogramme in SkriptenDann können Sie das Repository klonen:
git clone [email protected]:WoozyMasta/dayz-ctl.git
# or
git clone https://github.com/WoozyMasta/dayz-ctl.git
# and run
cd dayz-ctl
./dayz-ctl
Oder laden Sie die Skriptdatei selbst herunter:
curl -sSfL -o ~ /.local/bin/dayz-ctl
https://raw.githubusercontent.com/WoozyMasta/dayz-ctl/master/dayz-ctl
chmod +x ~ /.local/bin/dayz-ctl
# and run
dayz-ctl
Emojis können verwendet werden, um Elemente richtig anzuzeigen. Möglicherweise müssen Sie sie installieren. Sie können beispielsweise die Noto-Schriftart von Google verwenden.
Nachfolgend finden Sie eine Liste mit den Paketnamen für verschiedene Distributionen:
fonts-noto-color-emoji
– Debian/Ubuntugoogle-noto-emoji-color-fonts
– Centosgoogle-noto-emoji-fonts
– Fedoranoto-fonts-emoji
- archfont-noto-emoji
– alpinnoto-coloremoji-fonts
– suseOder wenn Sie Emojis nicht mögen oder sie aus irgendeinem Grund nicht verwenden können, können Sie einen Patch anwenden, um sie durch Zeichenfolgen zu ersetzen:
sed -e ' s/▫️/•/g ' -e ' s/?/✕/g ' -e ' s/⬛/ /g ' -e ' s//time/g ' -e ' s/❔/?/g '
-e ' s/?/ok/g ' -e ' s/?/no/g ' -e ' s/?/night/g ' -e ' s/☀️/day/g '
-e ' s//yes/g ' -e ' s/?/no/g ' -e ' s/✅/ok/g ' -e ' s//no/g '
-i " $( which dayz-ctl ) "
Es ist besser, alle DayZ-Startoptionen in Steam zu entfernen und sie über den Launcher zu verwalten oder umgekehrt. Da die Schlüssel dupliziert werden können und dies zu Verwirrung führen oder im schlimmsten Fall einige der Schlüssel abschneiden kann, da die Argumentzeichenfolge eine Längenbeschränkung hat und auf Servern mit einer großen Anzahl von Mods ein sehr langer Startparameter ist auch verwendet.
Diese. Lassen Sie die Startoptionen leer oder geben Sie nur die benötigten Hilfsprogramme und Variablen an, zum Beispiel:
MANGOHUD=1 ENABLE_VKBASALT=1 gamemoderun %command%
Sie können mehrere Suchbegriffe durch Leerzeichen getrennt eingeben. zB ^namalsk DE !PVE !RP
Token | Übereinstimmungstyp | Beschreibung |
---|---|---|
sbtrkt | Fuzzy-Match | Elemente, die mit sbtrkt übereinstimmen |
wild | exakte Übereinstimmung (zitiert) | Elemente, wild enthalten |
^music | Präfix-genaue Übereinstimmung | Artikel, die mit music beginnen |
.mp3$ | Suffix-genaue Übereinstimmung | Elemente, die mit .mp3 enden |
!fire | inverse-exakte-Übereinstimmung | Gegenstände, die kein fire enthalten |
!^music | inverses-Präfix-genaue-Übereinstimmung | Elemente, die nicht mit music beginnen |
!.mp3$ | inverses-suffix-exakte-übereinstimmung | Elemente, die nicht mit .mp3 enden |
Ein Begriff mit einem einzelnen Balkenzeichen fungiert als ODER-Operator
P V E | R P
Sie können die Funktionsweise des Launchers mithilfe von Umgebungsvariablen optimieren, die Sie wie gewohnt an die Umgebung übergeben oder in die Konfigurationsdatei $HOME/.local/share/dayz-ctl/dayz-ctl.conf
schreiben können (standardmäßig). )
Liste der verfügbaren Variablen:
DAYZ_CTL_VERSION
– AnwendungsversionDAYZ_CTL_NAME
= dayz-ctl
– AnwendungsnameDAYZ_GAME_ID
= 221100
– Steam-Spiel-IDAPPLICATIONS_DIR
= $HOME/.local/share/applications
– Verzeichnis zum Speichern von AnwendungsverknüpfungenDAYZ_CTL_DIR
= $HOME/.local/share/dayz-ctl
– Arbeitsverzeichnis des LaunchersDAYZ_CTL_BIN_DIR
= $HOME/.local/share/dayz-ctl/bin
– Verzeichnis zum Speichern zusätzlicher ausführbarer DateienDAYZ_REQUEST_TIMEOUT
= 10
– Standard-Timeout für HTTP-Anfragen in SekundenDAYZ_CONFIG_FILE
= $DAYZ_CTL_DIR/$DAYZ_CTL_NAME.conf
– dayz-ctl-KonfigurationsdateiDAYZ_SERVER_DB
= $DAYZ_CTL_DIR/servers.json
– ServerdatenbankdateiDAYZ_SERVER_DB_TTL
= 300
– TTL für Serverdatenbank in SekundenDAYZ_SERVER_REQUEST_TIMEOUT
= 30
– Zeitüberschreitung beim Abrufen einer Serverliste in SekundenDAYZ_NEWS_DB
= $DAYZ_CTL_DIR/news.json
– NachrichtenbasisdateiDAYZ_NEWS_DB_TTL
= 3600
– TTL für die Nachrichtendatenbank in SekundenDAYZ_MODS_DB
= $DAYZ_CTL_DIR/mods.json
– ÄnderungsdatenbankdateiDAYZ_PROFILE
= $DAYZ_CTL_DIR/profile.json
– BenutzerprofildateiDAYZ_HISTORY_SIZE
= 10
– Größe des Server-Explorer-VerlaufsDAYZ_FZF_HISTORY
= $DAYZ_CTL_DIR/.$DAYZ_CTL_NAME-history
– Verlaufsdatei für die Fuzzy-SucheDAYZ_USERAGENT
= "$DAYZ_CTL_NAME $DAYZ_CTL_VERSION"
– Benutzeragent, der für HTTP-Anfragen verwendet wirdDAYZ_API
= https://dayzsalauncher.com/api/v1
– API-Adresse zum Abrufen einer ServerlisteDAYZ_STEAMCMD_ENABLED
= true
– Schalter zum Aktivieren oder Deaktivieren der Verwendung von SteamCMDDAYZ_FILTER_MOD_LIMIT
= 10
– Standard-Mod-Limit-FilterwertDAYZ_FILTER_PLAYERS_LIMIT
= 50
– Standard-Spielerlimit-FilterwertDAYZ_FILTER_PLAYERS_SLOTS
= 60
– Standard-Slot-Limit-Filterwert für Spieler Steam-Startoptionen mit aktiviertem MangoHud, vkBasalt und Gamemode:
MANGOHUD=1 ENABLE_VKBASALT=1 gamemoderun %command%
Ohne auf Dienstprogramme von Drittanbietern zurückgreifen zu müssen, können Sie außerdem mithilfe von Standard-DXVK-Tools ein Overlay mit Informationen zu Ressourcen anzeigen und FPS begrenzen, zum Beispiel:
DXVK_HUD=fps DXVK_FRAME_RATE=60 gamemoderun %command%
Bedeutung von DXVK_HUD=fps
... DXVK_HUD=full
:
devinfo
– Zeigt den Namen der GPU und die Treiberversion an.fps
– Zeigt die aktuelle Bildrate an.frametimes
– Zeigt ein Frame-Time-Diagramm an.submissions
– Zeigt die Anzahl der pro Frame übermittelten Befehlspuffer an.drawcalls
– Zeigt die Anzahl der Draw-Calls und Render-Durchgänge pro Frame an.pipelines
– Zeigt die Gesamtzahl der Grafik- und Rechenpipelines an.descriptors
– Zeigt die Anzahl der Deskriptorpools und Deskriptorsätze an.memory
– Zeigt die Menge des zugewiesenen und verwendeten Gerätespeichers an.gpuload
– Zeigt die geschätzte GPU-Auslastung an. Möglicherweise ungenau.version
– Zeigt die DXVK-Version an.api
– Zeigt die von der Anwendung verwendete D3D-Funktionsebene an.cs
– Zeigt Worker-Thread-Statistiken an.compiler
– Zeigt die Aktivität des Shader-Compilers ansamplers
– Zeigt die aktuelle Anzahl der verwendeten Sampler-Paare an [Nur D3D9]scale=x
– Skaliert das HUD um den Faktor x (z. B. 1,5) Bildratenbegrenzung DXVK_FRAME_RATE=0