Ich werde bei ArmA 2 / ArmA 3 mit einer beliebigen Restriction gekickt

Aus Nitradopedia
Wechseln zu: Navigation, Suche
Arma header.png

Miete dir jetzt deinen eigenen prepaid ArmA Server auf nitrado.net

Übersicht der möglichen Restrictions

Jede DayZ Instanz (DayZ / DayZ Epoch / etc) hat einen eigenen BattleEye Ordner. In diesem finden sich zum einen .log Files und zum anderen .txt Files. Die .log Files notieren sämtliche Ausführungen eines Script-Befehls, eines CreateVehicle-Befehls usw. Die .txt -Files, welche die Regeln für die bereits genannten Befehle beinhalten, sind hier aufgelistet:


  • addbackpackcargo.txt
  • addmagazinecargo.txt
  • addweaponcargo.txt
  • attachto.txt
  • createvehicle.txt
  • deleteVehicle.txt
  • mpeventhandler.txt
  • publicvariable.txt
  • publicvariableval.txt
  • publicvariablevar.txt
  • remotecontrol.txt
  • remoteexec.txt
  • scripts.txt
  • selectplayer.txt
  • setdamage.txt
  • setpos.txt
  • setvariable.txt
  • setvariableval.txt
  • teamswitch.txt
  • waypointcondition.txt
  • waypointstatement.txt

    Einrichtung

    Um alles etwas einfacher zu gestalten, installiert man Gotcha Antihack (Download) lokal auf dem Rechner. Danach bearbeitet man folgende Files:

  • createvehicle.txt
  • remoteexec.txt
  • scripts.txt
  • setvariable.txt
  • setpos.txt

    und schreibt immer
    2 ""

    in die erste Zeile. Dies bewirkt, dass die Logfiles dafür von Gotcha ausgelesen werden können.

    Beispiel

    Als Beispiel nun die Lösung einer Restriction anhand von "Towing" (Das "Ich binde Autos aneinander" -Script) :

    Man betritt den Server und sucht sich zwei Autos, die man aneinander binden will. Doch beim Ausführen der Aktion wirt man wegen einer "AtachTo Restriction #XY" gekickt.
    XY in #XY ist eine Zahl, welche immer unterschiedlich ist, je nachdem um welchen Fehler es sich hier handelt. Diese Zahl muss zwingend notiert werden, um die Schwierigkeit zu lösen.
    Schaut man nun in die atachto.log im BattleEye Ordner der DayZ Instanz findet man (als letzten Eintrag) die atachTo Restriction #XY wieder. Meistens steht hier auch noch etwas dabei, z.B. der Classname eines Autos/ eines Items oder wie hier der Pfad eines Scripts.

    Aktueller Stand

    Nun sind folgende Dinge bekannt:

  • die Fehler Nummer: #XY
  • die Art der Restriction: atachTo
  • den Script Pfad des Towing Scripts: z.B. /R3F_ARTY_AND_LOG/LOG/log_init.sqf o.ä.

    Beispielösung

    Die Art der Restriction zeigt in welche Spezifikationsdatei im BattleEye Verzeichnis die Schwierigkeit vorliegt. Bei einer AtachTo Restriction ist dies die atachto.txt Datei. Die Fehler Nummer #XY verrät die Zeile in der atachto.txt Datei. Hierbei ist es notwendig die Nummer XY mit 1 zu addieren ( XY + 1 ) um die korrekte Zeile in der .txt Datei zu finden. Der Pfad zeigt, welcher Parameter (in diesem Fall) mit dem atachTo Befehl kollidiert. Also hier z.B. ist festgelegt, dass kein externes Script in Zusammenhang mit dem Fahrzeug in Zeile XY + 1 Zugriff zum atachTo Befehl hat, da ein Tow Script im Grunde für DayZ nicht vorgesehen ist/war. So muss es sich (für den Server) um einen Hack/eine Fehlfunktion handeln und der Spieler wird zu Schadensbegrenzung gekickt.

    Um dies zu verhindern ist es notwendig, eine Ausnahme einzubauen.

    Lösung

    Um die Ausnahme einzufügen, öffnet man die atachto.txt Datei, geht in Zeile XY + 1 und fügt folgendes mit der speziellen Classname oder dem Scriptpfad hinten (per Leerzeichen getrennt) an die Zeile an (hier wird beispielhaft das Towing Script genommen)

    !="R3F_ARTY_AND_LOG/LOG/log_init.sqf"

    Nun sollte beim Anhängen dieses Fahrzeugs nicht mehr gekickt werden.
    Leider muss man diese Ausnahme für jedes Fahrzeug einzeln definieren, da manche Fahrzeuge vielleicht gar nicht als abschleppbar eingestellt sind und so ein Abschleppen per Hack unterbunden wird.