BEC Config: Unterschied zwischen den Versionen

Aus Nitradopedia
Wechseln zu: Navigation, Suche
 
Zeile 828: Zeile 828:
  
  
[[Kategorie:DayZ]][[Kategorie:Arma]]
+
[[Kategorie:DayZ]]

Aktuelle Version vom 14. Mai 2019, 12:08 Uhr

BEC.png



Info

Battleye Extended Controls ist ein Admin Tool für ArmA2/OA/CO und Arma3, sowie für die Modifikation DayZ. Es handelt sich dabei um eine Applikation, welche nur serverseitig installiert werden muss. Auf dem eigenen PC muss nichts installiert werden.
BEC ist ein multi-Admin Tool, es können beliebig viele Admins festgelegt werden. Man kann verschiedene, eigene Commands und Permissions festlegen und sie auf verschiedene Admin Level verteilen.
BEC erlaubt es auch eine Globale Bannliste zu nuten. Dafür wird allerdings ein Account benötigt. Die originale Anleitung zur Konfiguration findet man unter http://ibattle.org/install-and-configure/.

Features

  • Mehrere Admin-Accounts anlegbar
  • Eigene Namen und eigene Admin-Befele erstellen
  • Adming-Guppensystem mit verschiedenen Stufen für Berechtigungen
  • Bestimmte Admin-Befehle nur bestimmten Admin-Stufen erlauben
  • Chat-Logger
  • BattlEye Event-Logger
  • Synchronisierung der Banliste mit der globalen Ban-Liste während des Serverbetriebes
  • Nach dem Verbinden eine Spielers wird die GUID mit der globalen Ban-Liste abgeglichen
  • Übermittelt Hacks & Bans an eine globale Datenbank
  • Blacklist für Spielernamen inkl. Auto-Kick
  • Chat-Kanäle deaktivierbar
  • Anti-Spam Funktion
  • Automatisches Kicken von abwesenden ("idle") Spielern in der Lobby
  • Planer für Server-Nachrichten, Befehle, etc.
  • Whitelist
  • reservierte Slots
  • TS3 Server-Query für Benachrichtigugen

Installation auf einem Nitrado Server

Damit BEC auf einem Nitrado Server installiert und gestartet wird, muss lediglich der Haken unter "Einstellungen" gesetzt werden. Beim Speichern startet der Server mit BEC neu. Die Dateien findet man im Ordner /niXXXX_X/dayz/BEC

Konfiguration

Bei der Konfiguration sind die folgenden Dateien besonders interessant. Die Dateien sind im XML Format. Falls das Format nicht einghalten wird, kann BEC nicht korrekt starten.

Admins.xml

<BEAdmins>
	<!-- 
	Definiere Administratoren
	
	name : Name vom Administrator (InGame-Name)
	guid : Die GUID vom Spieler
	group : Der Admin Level, dies muss eine Zahl sein
	groupname : Gruppenname - wenn dieses Feld leer gelassen wird erscheint keine Meldung auf dem Server
	
	Hinweis: Beachte die Reihenfolge von  "<..id= >". 0, 1, 2, usw. Sollte nicht die Reihenfolge eingehalten werden, kann dies zu Fehlern führen.
	
	
	Online Dokumentation: http://www.ibattle.org/install-and-configure/define-admins/
    weitere Infos in der Nitrado-Wiki: http://wiki.nitrado.net/index.php/Battleye_Extended_Controls
	
	-->
	
	<admin id="0">
		<name>Der Spielername</name>
		<guid>GUID</guid>
		<group>0</group>
		<groupname>Super Admin</groupname>
	</admin>
	
	<admin id="1">
		<name>Der Spielername</name>
		<guid>AnotherGUID</guid>
		<group>3</group>
		<groupname>Noob Admin</groupname>
	</admin>
	
</BEAdmins>

Erläuterung:

  1. ID: Jeder Admin bekommt eine ID zugewiesen. Diese ID wird einfach fortlaufend vergeben (0,1,2,3,).
  2. Name: Bei <name> muss der Spielername eingetragen werden, der auch in Spiel angezeigt wird(Bsp. TheUltimatePro).
  3. GUID:Bei der GUID muss die "Global Unique ID" eingetragen werden. Diese GUID kommt von BattelEye und darf nicht mit UID verwechselt werden, welche von Arma vergeben wird. Man kann die GUID am leichtesten herausfinden, wenn man in Spiel das Kommando #beclient guid eingibt.
  4. Group: Hier wird eine der "Rang" festgelegt. Der Eintrag muss eine Zahl sein
  5. Groupname: Hier kann ein Name eingetragen werden, der im Spiel angezeigt wird, wenn man den Server betritt. Lässt man dieses Feld leer, wird keine Meldung im Spiel ausgegeben, wenn man auf den Server joint.

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <?xml-stylesheet href="acs.xsl" type="text/xsl" ?>

<Scheduler> <job id="0"> <day>1,2,3,4,5,6,7</day> <start>000000</start> <runtime>000200</runtime> <loop>0</loop> <cmd>say -1 BEC gestarted | Scheduler geladen</cmd> <cmdtype>0</cmdtype> </job>


<job id="1"> <day>1,2,3,4,5,6,7</day> <start>000000</start> <runtime>010000</runtime> <loop>-1</loop> <cmd>say -1 This Server is hosted by Nitrado.net</cmd> <cmdtype>0</cmdtype> </job>

<job id="2"> <day>1,2,3,4,5,6,7</day> <start>002000</start> <runtime>010000</runtime> <loop>-1</loop> <cmd>say -1 Nitrado.net - Gameserver, Voiceserver, Bouncer, Webspace</cmd> <cmdtype>0</cmdtype> </job>

<job id="3"> <day>1,2,3,4,5,6,7</day> <start>004000</start> <runtime>010000</runtime> <loop>-1</loop> <cmd>say -1 Nitrado.net - Prepaid Gameserver Hoster</cmd> <cmdtype>0</cmdtype> </job>


<job id="4"> <day>1,2,3,4,5,6,7</day> <start>03:30:00</start> <runtime>000000</runtime> <loop>0</loop> <cmd>say -1 WARNING: Server restart in 30 minutes.</cmd> <cmdtype>0</cmdtype> </job>

<job id="5"> <day>1,2,3,4,5,6,7</day> <start>03:45:00</start> <runtime>000000</runtime> <loop>0</loop> <cmd>say -1 WARNING: Server restart in 15 minutes.</cmd> <cmdtype>0</cmdtype> </job>

<job id="6"> <day>1,2,3,4,5,6,7</day> <start>03:55:00</start> <runtime>000000</runtime> <loop>0</loop> <cmd>say -1 WARNING: Server restart in 5 minutes.</cmd> <cmdtype>0</cmdtype> </job>

<job id="7"> <day>1,2,3,4,5,6,7</day> <start>03:58:00</start> <runtime>000000</runtime> <loop>0</loop> <cmd>#lock</cmd> <cmdtype>0</cmdtype> </job>

</Scheduler>


BadNames.txt

In dieser Datei können Namen eingetragen werden, die als "verboten" gelten. Jeder Namen muss dabei in einer eigenen Zeile stehen.
Beispiel

MaxMustermann
MaxMusterfrau

BadWords.txt

In dieser Datei können Worte eingetragen werden, die als "verboten" gelten. Jedes Wort muss dabei in einer eigenen Zeile stehen.
Beispiel

Doofi
Blödmann
-zensiert-

Commands.xml

In dieser Datei können einzelne Kommandos festgelegt werden und nach belieben verändert.

<BeCommands>
	<!-- 
	Definiere InGame-Befehle
	
	name  : The name you want to call your command!. DO NOT START YOUR NAME WITH #
	group : The premission level needed to execute the command!
	cmd   : The Rcon command. Root command. arguments are not passed here!
	time  : leave empty except for ban commands!
	text  : Used as reason for kick/ban commands. but also to set default values for maxping command if no argument are given on the chat line!
	desc  : Used to describe the command. will be used in the help system
	
	Note: keep id=  in order for your "<command id=X>" block. else parsing the file will cause errors. 1st command starts with 0
	Note: Do not start you command with # since its used by the game engine.
	
	
	Supported commands in the <cmd> </cmd> tag are:
	
	########################
	# Arma server commands
	########################

	#Missions
	#Mission 
	#Reassign
	#Restart
	#Shutdown 
	#Lock
	#Unlock
	
	########################
	# Be commands.
	########################
	kick
	ban
	maxping
	say
	
	########################
	# Bec commands
	########################
	kid |___. same as kick and ban but. used beid insetead of names !kid 0, !bid 3
	bid |
	grant
	degrant
	warn
	makeroom
	help
	pinfo
	ainfo
	uptime
	external
	
	# Commands that can be set to group 100 for public use are:
	help
	uptime
	pinfo
	ainfo
	
	
	-->
		

	
	<!-- Shutdown the server. -->
	<command id="0">
		<name>!sht</name>
		<group>1</group>
		<cmd>#shutdown</cmd>
		<time></time>
		<text></text>
		<desc>USAGE :: [!sht] or [!sht N] or [!sht info] or [!sht abort] :: INFO -> Shutdowns the dedicated arma server. use: !sht N, to set a timeout in Seconds before shutdown, !sht abort, to abort current shutdown, !sht info, to see how long left.</desc>
	</command>
	
	<!-- Mission selection meny. note admin should be loged in. -->
	<command id="1">
		<name>!mis</name>
		<group>1</group>
		<cmd>#missions</cmd>
		<time></time>
		<text></text>
		<desc>USAGE :: !mis :: INFO -> Show mission. Carefull with this command. an admin should be logged in with the arma inerface. #login or gui if this is to be used</desc>
	</command>	
	
	<!-- Restart mission. -->
	<command id="2">
		<name>!res</name>
		<group>4</group>
		<cmd>#restart</cmd>
		<time></time>
		<text></text>
		<desc>USAGE :: !res :: INFO -> Restart mission with current player slot selection</desc>
	</command>	
	
	<!-- Reassing the mission. -->
	<command id="3">
		<name>!rea</name>
		<group>4</group>
		<cmd>#reassign</cmd>
		<time></time>
		<text></text>
		<desc>USAGE :: !rea :: INFO -> Restart the mission with new player slot selection</desc>
	</command>		
	
	<!-- Lock the server. -->
	<command id="4">
		<name>!lck</name>
		<group>3</group>
		<cmd>#lock</cmd>
		<time></time>
		<text></text>
		<desc>USAGE :: !lck :: INFO -> Locks the server. No one will be able to join.</desc>
	</command>	

	<!-- Unlock the server. -->
	<command id="5">
		<name>!ulck</name>
		<group>3</group>
		<cmd>#unlock</cmd>
		<time></time>
		<text></text>
		<desc>USAGE :: !ulck :: INFO -> Unlocks the Server.</desc>
	</command>
	
	<!-- Change maxping. -->
	<command id="6">
		<name>!mp</name>
		<group>3</group>
		<cmd>maxping</cmd>
		<time></time>
		<text>150</text>
		<desc>USAGE :: [!mp] or [!mp N] :: INFO -> Set a maxping limit on the server. N is the value in milliseconds, default = 150</desc>
	</command>		
	
	<!-- Change mission. -->
	<command id="7">
		<name>!cm</name>
		<group>4</group>
		<cmd>#mission</cmd>
		<time></time>
		<text></text>
		<desc>USAGE :: !cm mission filename  :: INFO -> Change Mission. Exclude the pbo extension.</desc>
	</command>	
	
	
	<!--
		Ban Commands. 
		The <text> field in ban has a spesial option. " _time_ " : when used it will show timenow+bantime. _time_ return format is: Y.m.d H:M
		<text>Teamkilling not tolerated! Your banned until _time_</text> 
		Will show : Teamkilling not tolerated! Your banned until 2013.01.25 17:30
	-->

	
	<!-- Permban -->
	<command id="8">
		<name>!bpl</name>
		<group>0</group>
		<cmd>ban</cmd>
		<time>0</time>
		<text>Admins Decision!</text>
		<desc>USAGE :: [!bpl name] or [!bpl name !r new reason] :: INFO -> Perm Ban a player.</desc>
	</command>	
	
	<!-- 1 Hour Ban -->
	<command id="9">
		<name>!btk</name>
		<group>1</group>
		<cmd>ban</cmd>
		<time>60</time>
		<text>Teamkilling not tolerated! Your banned until _time_</text>
		<desc>USAGE :: [!btk name] or [!btk name !r new reason] :: INFO -> Ban a player for 1 hour.</desc>
	</command>	
	
	<!-- 10 Min Ban -->
	<command id="10">
		<name>!bst</name>
		<group>2</group>
		<cmd>ban</cmd>
		<time>10</time>
		<text>Idiot behavior belongs elsewhere! Your banned until _time_</text>
		<desc>USAGE :: [!bst name] or [!bst name !r new reason] :: INFO -> Ban a player for 10 min.</desc>
	</command>	
	
	<!-- Kick Command(s).-->
	<command id="11">
		<name>!kpl</name>
		<group>3</group>
		<cmd>kick</cmd>
		<time></time>
		<text>Admins Decision!</text>
		<desc>USAGE :: [!kpl name] or [!kpl name !r new reason] :: INFO -> Kick a player. use !r to set a cutoms reason.</desc>
	</command>

	<!-- 
		Spesial Custom Commands is used with #beclient players to get players id
		this can be usefull if you need to kick example a russian named player. "if you dont know how to type in cyrillic"
		example: #beclient players ... !bid 15
	-->
	
	<!-- Ban based on Id -->
	<command id="12">
		<name>!bid</name>
		<group>0</group>
		<cmd>bid</cmd>
		<time>0</time>
		<text>Admins Decision!</text>
		<desc>USAGE :: !bid id :: INFO -> Kick a player based on the BEID. use #Beclient players to get the id.</desc>
	</command>
	
	<!-- Kick based on Id -->
	<command id="13">
		<name>!kid</name>
		<group>3</group>
		<cmd>kid</cmd>
		<time></time>
		<text>Admins Decision!</text>
		<desc>USAGE :: !kid id :: INFO -> Kick a player based on the BEID. use #Beclient players to find the id.</desc>		
	</command>		

	
	<!-- Give a warning to a player
		The warning parameter in the config file must be higher than 0 for this to have any effect.
	-->
	<command id="14">
		<name>!wrn</name>
		<group>3</group>
		<cmd>warn</cmd>
		<time></time>
		<text>This is a Warning given by the admin</text>
		<desc>USAGE :: !wrn name :: INFO -> Send a warming to a player, it will increase the warncount if defined in the config file.</desc>
	</command>
	
	<!-- 
		Grant a player tmp admin premissions
		You set the group level of the tmp admin in the <text> tag.
	-->
	<command id="15">
		<name>!ata</name>
		<group>2</group>
		<cmd>grant</cmd>
		<time></time>
		<text>4</text>
		<desc>USAGE :: !ata name :: INFO -> Add a temporary admin into group 4.</desc>
	</command>
	
	<!-- Remove tmp admin permission -->
	<command id="16">
		<name>!rta</name>
		<group>2</group>
		<cmd>degrant</cmd>
		<time></time>
		<text></text>
		<desc>USAGE :: !rta name :: INFO -> Remove temporary admin.</desc>		
	</command>	

	<!-- make room for a player.
		kick last player who joined. 
	--> 
	<command id="17">
		<name>!mr</name>
		<group>2</group>
		<cmd>makeroom</cmd>
		<time></time>
		<text>Making Room For Members</text>
		<desc>USAGE :: !mr N :: INFO -> Kick N numbers of player based on join time. last joined players will get kicked.</desc>
	</command>		

	<!-- Show basic help info -->
	<command id="18">
		<name>!help</name>
		<group>100</group>
		<cmd>help</cmd>
		<time></time>
		<text></text>
		<desc>USAGE :: [!help] or [!help !command] :: INFO -> Use help to show availeble commands.</desc>
	</command>
	
	<!-- Show player info -->
	<command id="19">
		<name>!pinf</name>
		<group>100</group>
		<cmd>pinfo</cmd>
		<time></time>
		<text></text>
		<desc>USAGE :: !pinf name :: INFO -> Show player info. Beid and join time.</desc>
	</command>
	
	<!-- Show admin info -->
	<command id="20">
		<name>!ainf</name>
		<group>100</group>
		<cmd>ainfo</cmd>
		<time></time>
		<text></text>
		<desc>USAGE :: !ainf :: INFO -> Show Admins online.</desc>
	</command>

	<!-- Show server uptime -->
	<command id="21">
		<name>!upt</name>
		<group>100</group>
		<cmd>uptime</cmd>
		<time></time>
		<text></text>
		<desc>USAGE :: !upt :: INFO -> Show Server Uptime.</desc>
	</command>	
	
	<!-- say something in global or to a player -->
	<command id="22">
		<name>!say</name>
		<group>10</group>
		<cmd>say</cmd>
		<time></time>
		<text></text>
		<desc>USAGE :: [!say Hello] or [!say name !Hello] :: INFO -> Send a Battleye message player(s).</desc>
	</command>	


</BeCommands>

Ts3.xml

<Ts3>

	<!-- 
		Note: 
		keep <..id= > in order for your admin block. else parsing the file will cause errors. 
		Start it at 0 and increment it by 1 for each admin you add.
	-->
	<Ts3Admins>
		
		<admin id="0">
			
			<!-- name of the admin.. do not need to match ts name -->
			<name>Admin Name</name>
			
			<!-- Ts3 Uid to the admin . note. do not confuse this with arma guid-->
			<uid>Ts3Uid</uid>
			
			<!-- Notifys you with pm when someone get kicked if set to 1. -->
			<nok>1</nok>
			
			<!-- Notifys you with pm when someone get banned  if set to 1. -->
			<nob>1</nob>
			
			<!-- Notifys you with pm when someone gets caught for hack (GH|BH)  if set to 1. -->
			<noh>1</noh>
			
		</admin>

		<admin id="1">
			<name>Another Admin</name>
			<uid>1234</uid>
			<nok>0</nok>
			<nob>1</nob>
			<noh>0</noh>	
		</admin>	
	
		<admin id="2">
			<name>Admin Number Three</name>
			<uid>TSUID</uid>
			<nok>1</nok>
			<nob>0</nob>
			<noh>1</noh>		
		</admin>
	</Ts3Admins>
	
	
	
	<!-- General Ts3 Settings. -->
	<Ts3Settings>
		
		<!-- Ip address to your ts3 server -->
		<address>127.0.0.1</address>
		
		<!-- Query port -->
		<port>10011</port>
		
		<!-- The virtual server the queryer will use -->
		<virtualserver>1</virtualserver>
		
		<!-- ts3 server query user -->
		<username>serveradmin</username>

		<!-- password to log in the user -->
		<password>secret</password>

		<!-- 
			Pokes ts3 clients when there is 60 sec's left of lobby idlign and when they get kicked for lobby idling. 
			KickLobbyIdlers needs to be set in the config.cfg file.
			input may be 0,1 or False,True
		-->
		<clientpoke>1</clientpoke>
		
		<!-- Send warning message through BE if clients are not on Ts3 -->
		<clientrequiredts3>1</clientrequiredts3>
		
		<!-- Will send N warnings to the player if he/she is not on the ts3 server. interval between each warning is 1 min.  clientrequiredts3 must be 1 for this to work -->
		<clientwarnings>2</clientwarnings>
		
		<!-- Send this message N = (clientwarnings) times through BE when clients are not connected to the ts3server : MAXLENGHT = 64Chars -->
		<clientrequiredts3_warningmessage>Connect to our ts3 server at ts3.domain.com to play here</clientrequiredts3_warningmessage>
		
		<!-- Send this message through BE when clients gets kicked from the game server for not being on the Ts3 server MAXLENGHT = 64Chars -->
		<clientrequiredts3_kickmessage>Absent from our Ts3server is not allowed, join : ts3.domain.com</clientrequiredts3_kickmessage>
		
		
		<!-- 
			Kick a client from the ts3 server if the player was kicked from the Gameserver 
			input may be 0,1 or False,True
		-->
		<clientkick>0</clientkick>

		<!-- 
			Ban a client from the ts3 server if the player was banned from the Gameserver 
			input may be 0,1 or False,True
		-->
		<clientban>0</clientban>

	</Ts3Settings>
	
		
</Ts3>

Whitelist.txt

In dieser Datei kann eine Whitelist festgelegt werden. Pro Zeile muss die GUID eingetragen werden (Siehe Admins.xml) und der Name des Spielers. Lässt man diese Datei leer ist die Whitelist deaktiviert.

abcdef0123456789abcdef0123456789 Bruder
bbcdef0123456789abcdef0123456789 Max Mustermann
cbcdef0123456789abcdef0123456789 Freund von Max Mustermann
dbcdef0123456789abcdef0123456789

Fehlersuche

Error.log

BattlEye Extended Controll startet nicht, was tun?

  1. Bei Fehlern wird ein Error.log erstellt, welcher in der Regel die Ursache genau beschreibt. Man findet diesen Log unter \dayz\BEC\Log\ServerLog\Error

Dort wird die Datei "BecError_YYY_DD_MM.log" generiert. Diese kann man öffnen um nachzulesen in welcher Zeile (Englisch: line) der Fehler ist.

Admin Passwort gewechselt

Beim Wechseln des Admin Passwortes kommt es meistens vor, dass der ArmA Server im jeweiligen Map/Mod Ordner die BEServer.cfg nicht löscht. Somit ist immer noch das alte Passwort aktiv, obwohl BEC schon das neue Passwort benutzt.
Ergo BEC startet nicht richtig, da es nicht auf den Server connecten kann.

Um dies zu verhindern sollten Sie bei einem Admin Passwort Wechsel darauf achten, dass im jeweiligen Map/Mod Ordner zum Beispiel

  • für Chernarus
  • dayz_1.chernarus
  • für Namalsk
  • dayz_1.namalsk
    im Unterordner Battleye die BEServer.cfg und BEServer_activ.cfg gelöscht ist.

    Server neustarten und schon müsste BEC normal funktionieren.

    Löschen können Sie diese zwei Dateien mit Ihrem FTP Programm und den dazugehörigen FTP Daten die im Webinterface unter "FTP Zugangsdaten" zu finden sind.
    Als FTP Programm wird Filezilla vorgeschlagen.


    Vielen Dank an cici55554 für das Schreiben dieses Tutorials im Nitrado-Forum!