leftborder

Scriptsprache

Vorherige Seite Parent page Nächste Seite TOC
Struktur   (1.6)   Übersicht  »  Gameserver  »  Scriptsprache

Inhaltsverzeichnis


An dieser Stelle behandeln wir die sogenannte Scriptsprache.
Die Scriptsprache findet sich in den meisten Konfigurationsdateien wieder und ist ausschlaggebend das Ihr Server ordnungsgemäß läuft.
Wir bitten alle Kunden die selbst an ihren Server bzw. Konfigurationsdateien Veränderungen vornehmen sich mit dem Punkt Scriptsprache zu befassen!
Skriptsprachen (häufig auch Scriptsprachen) sind Programmiersprachen, die vor allem für kleine, überschaubare Programmieraufgaben gedacht sind. Sie verzichten oft auf bestimmte Sprachelemente, deren Nutzen erst bei der Bearbeitung größerer Projekte zum Tragen kommen.
Wie z.B. in einer Server bzw. Game „Cfg“.

Sehen wir uns also erstmal ein kleines Beispiel an.

name "My Server" -ist der Servername
serverPort "14500" -zeigt den aktuellen Port ihres Servers an
queryPort "14510" -Mit dem Query Port kann man ein Text senden wie z.B. den Status von einem PHP Script, um z.B. die Statistiken Ihres Servers auf Ihrer Homepage zu sehen.
timelimit "20" -Zeigt das Zeitlimit Pro Karte an bzw. Runde an (Von Spiel zu Spiel unterschiedlich)"

Wichtig an die stelle ist das Sie alle Einstellungen wie z.B timelimit mit Hochkommas angeben müssen, dass sollte dann in etwa so aussehen (timelimit "20").
Bei vielen Gameservern sind Sogenannte Platzhalter eingesetzt. Bei einem neuen Server sieht das in etwa so aus (timelimit " %timelimit% ")

Die 3 unteren Beispiele demonstrieren die 3 verschiedenen Typen, welche in den Konfigurationsdateien angewandt werden können. Jeder Typ hat unterschiedliche Anwendungsregeln:

-Litheral Text: Teile der Konfigurationsdatei wie "//Meine Konfigurationsdatei" und "name" sind normale Textpassagen und haben keine Speziellen Regeln.
-Substitutionen bzw. Variablen: Wenn in der Konfigurationsdatei Beispielsweise " %server:name% " und " %timelimit% " vor kommen, werden diese bei der Ausführung bzw. Generierung durch den Wert des verwendeten Platzhalters ersetzt.
-Tags: Teile der Konfigurationsdatei wie "<gc:eval>" und "</gc:eval>" werden speziell durch das Administrationssystem behandelt. Es gibt eine Vielzahl von verschiedenen Tags um verschiedene Aktionen durchzuführen.

Litheral Text


Litheral Text wird genau in die Konfigurationsdatei geschrieben weil darauf zurückgegriffen wird, der gesamte Text wird in Worten geschrieben, es sei denn er past sich den Substitutions oder Tags an.
Mann kommt um das Prozentzeichen und die Winkelklammen nicht rum; %somevalue% wird als Literal Text gesehen ausser „somevalue“ wird als fester Bestandteil der Konfigurationsdatei identifiziert und der Tag wird von der Konfigurationsdatei ignoriert, es sei denn man fügt dem Tag noch „gc“<gc:tag> an.

Substitutions


Substitutions erlauben es ihnen direkt mit dem Server zu interagieren, wenn Sie die in der Konfigurationsdatei enthaltenden werte verwenden. Unser Controlcenter hat mehrere eingebaute Eigenschaften (für alle Server verfügbar) und eine Vielzahl Spielspezifischer Eigenschaften.
Sie geben dem Controlcenter den werte eines Tag´s, indem Sie dem Prozent-Zeichen umgebenden wert (text) einfügen. Eingebaute Eigenschaften haben einen Präfix wie z.B. „Server:“ Spieleigenschaften haben diesen Präfix nicht und werden genau genannt, weil Sie im Controlcneter bei Gameproperties auftauchen. Glücklicherweise brauchen Sie nicht alles darüber zu wissen, Sie fügen einfach an der gewünschten Position Ihrer Konfigurationsdatei den gewünschten Wert ein.
Es gibt keine begrenzte Anzahl an werten die Sie in der Konfigurationsdatei einfügen können jeder %property% (wert)-Wort kann so oft auftauchen wie es notwendig ist, um Ihre Konfigurationsdatei auf Ihre wünsche anzupassen.
Beachten Sie bitte, dass das NaV-Wort nach der Erstellung der Konfigurationsdatei auf dem Server nicht mehr als solches vorhanden ist, sondern durch den Wert dieser Variable ersetzt wird.

Built-In Properties -Built-In Eigenschaften



-Das Serverline Controlcenter unterstützt die Folgenden Einstellungsmöglichkeiten:

%server:name% Der Name des Servers
%server:rawname% Es ist ratsam für den Namen des Gameservers die Variable NaV zu nutzen.
%server:players% Die maximal zugelassene Spielerzahl.
%server:ip% Ist die IP das Servers auf dem ihr Gameserver installiert ist.
%server:port% Ist der port ihres Servers.
%server:permanent% Diese Variable liefert den Modus des Servers. 1 = Permanent, 0 = Temporär
%server:id% Ist die eindeutige Registriernummer des Servers sie hilft uns dabei die Server eindeutig zu identifizieren.


Game Properties


Jedes Spiel hat seine eigenen Einstellungsmöglichkeiten. Diese Eigenschaften enthalten Werte für Einstellungen die für dieses Spiel spezifisch sind z.B um auf dem Server das Zeitlimit und/oder friendly fire einzusetllen bzw. um ihn zu straten. Sie können in Ihrem Controlcenter sehen, welche Einstellungen Sie aktuell verwenden, diese können Sie einfach ändern in dem Sie auf Properties klicken.

Tags


Tag´s sind ein wichtiger und starker Teil der Dateisprache ( Cfg-sprache) vom Serverline Controlcenter, diese erlaubt Ihnen eine Vielzahl von Einstellungsmöglichkeiten die sonst Programmiertkentnisse voraussetzen würden. Tag´s können Ihre Konfigurationsdatei verändern und erlauben es Ihnen einstllungen vorzunehemen die sonst nicht möglich wären. Anhand der nächsten Punkte können Sie sehen welche Möglichkeiten Sie haben:

Conditional Blocks-Bestimmte Blöcke: Änder oder entfernen Sie bestimmt blöcke aus Ihrer Konfigurationsdatei und ersetzen Sie durch neue bzw. wertgleiche Blöcke.
List Blocks-Listenblöcke:Ein Typ mit Spielspezifischen einstellung ist die Liste. Listblöcke können auch anders formatiert sein.
Remote Includes: Hier können Sie den Namen Ihrer Clanseite einfügen. Und diese dann von Server erreichen oder anzeigen zu lassen z.B. bei Counterstrike servern der Startbildschirm.
Substrings:Verkürtzen Sie einen entpsrechenden Wert bzw. wählen Sie nur einen Teil des wertes aus, den Sie anpassen möchten.
Regular Expression Replacements:Passen Sie einen Wert an der normalerweise den Ausdruck syntax trägt.
Current Time/Date:Allgemein verwendet, um jeder Protokolldatei(LOG) einen einzigartigen Namen zu geben, oder um sie genau zu identifizieren.
Random Number:Stellt Zufallszahl-Generation zur Verfügung, um zufällige Logikentscheidungen zu treffen. Zum Beispiel eine zufällige Karte oder eine zufällige Spieler anzahl.





Syntax


Tag´s können an vielen Stellen eines Spiels oder einer Serverkonfigurationsdatei angebracht werden. Tags im Controlcenter sehen ähnlich wie HTML oder XML Elemente aus. Das heist sie sind der Form <gc:tag> ähnlich. Alle Tags im Controlcenter haben gc als Vorzeichen.

XML Tags kommen im Controlcenter nicht immer in offenen oder nahen Paaren vor:<Gc:tag>kann nicht vor </gc:tag> gesetzt werden.
Sie sehen die einzelnen Tags, und die speziellen Voraussetzungen des jeweiligen Tags unten.)

Sprachtags im Controlcenter können verschachtelt sein.

Am folgenden Beispiel wird gezeigt wie man eine Berechnung durchführt.
Stimmt das Ergebnis der Berechnung auf der Linken Seite des Gleichzeichens, mit der Rechten Seite überein, wird in der Statementabfrage ein "true" erzeugt.
Durch den Tag " <gc:eval> " ist es Möglich eine Berechnung durchzuführen.

Beispiel
<gc:if>
<gc:eval>5 + 2</gc:eval> = 7
<gc:then>
Ausdruck ist wahr
<gc:else>
Nicht wahr
</gc:if>


Das Verhalten eines falschen Tags ist - ein guter Weg um zu überprüfen, ob eine Konfigurationsdatei tut, was Sie erwarten.

Die erstellten Dateien werden nicht auf der Festplatte erscheinen.



Arithmetic


Arithmetic Tags erlauben Ihnen einfache Rechnungen auszuführen: Addition, Subtraktion, Division und Multiplikation. Oft wird die Arithmetic dazu verwendet um den Queryport zu vergeben z.B. 10 größer als der Server Port.

Format-Befehl


Beispiel
<gc:eval>operation</gc:eval>


Operation ist ein Kombination aus geschriebenen Zahlen %variable% werten und mathematischen Zeichen z.B + - */ () und % .
Es gelten die üblichen mathematischen Regeln. Deise Tags können nicht verschachtelt werden.
Ein optionales Attribut des Formats kann angegeben werden, der entweder ganz, auf oder abzurunden ist um den ausgegbenen Wert zu anzupassen.

Das Auslassen dieses Attributes veranlasst kein Runden.

Beispiel

Beispiel
queryPort      "<gc:eval>%server:port% + 10</gc:eval>"
extraPlayers   "<gc:eval format="floor">4 / 3</gc:eval>"
availableSlots "<gc:eval>%server:players% - 2</gc:eval>


Conditional Block


Bestimmte Tags erlauben es Ihnen einen Teil des Textes herauszunehmen und gibt Ihnen die Möglichkeit diesen zu ersetzen und die Konfugurtionsdatei auf ihre Wünsche anzupassen.

Format-Befehl


1. <gc:if>expr1 op expr2<gc:then>arbitrary text</gc:if>
2. <gc:if>expr1<gc:then>arbitrary text</gc:if>
3. <gc:if>expr1 op expr2<gc:then>arbitrary text<gc:else>arbitrary text</gc:if>
4. <gc:if>expr1 op expr2<gc:then>arbitrary text<gc:elseif>expr1 op expr2<gc:then>arbitrary text</gc:if>
5. <gc:if>expr1 op expr2<gc:then>arbitrary text<gc:elseif>expr1 op expr2<gc:then>arbitrary text<gc:else>arbitrary text</gc:if>


Die minimale Form eines Conditional-Blocks wird in Beispiel Punkt 1 gezeigt.
Mit <gc:if> wird die Bedingung geöffnet, durch <gc:then> wird die Bedingung weiterverarbeitet (wenn Bedingung wahr),
der beliebige Text und dann wird durch </gc:if> der Conditional-Block geschlossen.
Zu Beachten ist, das bei allen 3 Tags aber kein schließendes </gc:then> benötigt wird.

Die Vorausetzung zum Prüfen besteht aus zwei durch einen Vergleichsoperator getrennten Ausdruck. expr1 und expr2 sind die zwei Ausdrücke, die verglichen werden. Eine oder Beide verwenden die arithmetische Formatierung, welche im vorherigen Kapitel erklärt wurde, aber diese sollten keine <gc:eval> </gc:eval> Tags enthalten. Expressions haben eine eigene Evaluation für die Mathematische Notation.

op muss eins von == != > < >= <= = <>. == und = mittel 'ist gleich zu', != und <> mean 'ist nicht gleich zu'. Die restlichen comparison operators sind 'grösser als', 'größer oder gliech', 'weniger als', bzw. 'weniger als oder gleich'

Wenn die Bedingung wahr ist, erscheint der willkürlicher Text in der Datei. Wenn die Bedingung falsch ist, erscheint er nicht.
Der willkürliche Text kann literal text, property substitutions oder Tags enthalten. Insbesondere Conditional Tags können verschachtelt werden.

Die Form (in 2) zeigt einen einzelner Ausdruck; wie man sieht ist der Ausdruck wahr.
Wenn der Ausdruck zu einem Wert außer nichts (d. h. keine Zeichen überhaupt) oder die Anzahl 0 bewertet werden.

Die Formen (in 3), (4), und (5) zeigen den Gebrauch <von gc:elseif> und <gc:else>.
<gc:else> wird verwendet, um einen getrennten Block des arbitrary Textes zu liefern, um anzuzeigen ob der vorhergehende Vergleich falsch war.

<gc:elseif> stellt einen weiteren Vergleich zur Verfügung, um zu bewerten, ob der vorherige Vergleich falsch war.

<gc:elseif> kann beliebig oft innerhalb eines "conditional Block" wiederholt werden.
Bei den meisten literal Blocks in einer Kette wird das <gc:if> <gc:elseif> <gc:elseif>... <gc:else> </gc:if> angezeigt
Sobald sich zeigt das eine Bedingung wahr ist, wird der verbundene literal Block beim host gespeichert, und alle anderen Teile des conditional tags bis auf das Schließen </gc:if> ausgelassen werden.

Beispiele


Beispiel
<gc:if>
   %mod% == ctf
<gc:then>
   map ctf01
   capturelimit %capturelimit%
</gc:if>

<gc:if>
   %password%
<gc:then>
   usePassword=True
<gc:else>
   usePassword=False
</gc:if>


List Block



Die Controlcenter Eigenschaften kommen in einer Vielfalt von Typen vor: Text, Checkbox, und Dropdownliste. Ein Typ ist die Liste, die verwendet wird um Eigenschaften zu zeigen, die eine Sammlung von Textzeilen enthält, wie z.B die Maprotation Ihres Servers. Die Listen Tags können Sie auch bearebiten.


Format-Befehl



<gc:list text="text-value" separator="separator-value" random="random-value">Arbitrary text <gc:count start="start-value">
<gc:value separator="inner-separator" index="index-value"> arbitrary text </gc:list>

Wenn Sie <gc:list> verwenden wollen, muss am Ende ein abschließendes </gc:list> folgen. Der Text Attribut Text-value, gibt die Liste zum verarbeiten in der Regel mit einer %property% substitution aus, obwohl dies nicht erforderlich ist.
Der Text muss eine Trenner zeichen enthalen denn ohne diesen hat die Liste keine Elemente.
Der Inhalt der text-value wird mit dem Teiler der separator-value geteilt. Jedes Mal, wenn ein in separator-value vorkommenden Zeichen
auftaucht, wird der Text an diesem Punkt geteilt. Zum Beispiel "the-dog" wird an dem Bindestrich in zwei Stücke geteilt und demzufolge "the" und "dog" ausgegeben.

Der Teiler separator-value ist nicht erforderlich: wenn man ihn ausläst, wird er standardmäßig zum Zeilentrennzeichen (das heißt, jede Zeile die in der Text-value auftaucht wird als gesonderter Teil angezeigt).
Falls benötigt, wird Separator-value als eine Folge von Zeichen eingestetzt um eine text-value zu teilen.
Die separator-value kann ebenfalls dazu verwendet werden um einen Text in einzelne Buchstaben zu trennen.


Random-value (ist nicht erforderlich): Wenn der Wert weggelassen wird, ist der Standardwert "no", in diesem Sinne werden die Elemente in der Reihenfolge verwendet, wie sie in text-value standen.
Sollte random-value mit "yes" definiert werden, werden die Elemente gemischt, bevor diese weiterverwendet werden.

Ein sinnvolles Einsatzbeispiel wäre z.b. den Map-Pool neu zu mischen, sobald der Server gestartet bzw. neugestartet wird.

Erstens, die text-value ist in stücke geteilt, der text mit <gc:list> ... </gc:list> wird gespeichert, einmal pro Element in der Liste.
Literal text, property substitutions und tags sind alle gültig.
Es gibt noch 2 extra Tags die die genutzt werden können <gc:value> und <gc:count>.Beide sind optional (wenn auch meist erforderlich).
<gc:value> und <gc:count>; kann mehrfach verwendet werden innerhalb eines List Blocks, wenn es erforderlich ist.

<gc:value> kann verwendet werden um einen Eintrag in die gerade verwendete Liste hinzuzufügen. Es besitzt 2 optionale Eigenschaften:
"seperator" und "index"
Wenn eine innerer separator-Value verwendet wird, wird das Listenelement nach dem gleichen Mechanismus wie vorher definiert, getrennt.
(zu Beachten ist, das die innere separator-Value und die übergeordnete separator-Value sich für <gc:list> unterscheiden müssen, damit es funktioniert.)
Nachdem die Listenelemente getrennt wurden, kann mit index-Wert ein Teil der Liste ausgegeben werden.
index="1" würde in dem Fall das erste Element ausgeben. index="2", das 2. Element, und so weiter. Wenn index="0" ist, oder es nicht Definiert wurde,werden alle Elemente ausgegeben.

<gc:count> kann als Zähler in Listen verwendet werden. Mit dem start-Wert kann eine Startzahl angegeben werden.
Wenn start="10" angegeben wird, startet der Zähler bei 10 und führt diese mit 11,12,13, usw. fort. Wird der Startwert weggelassen oder mit start="1" definiert,
startet der Zähler bei 1.

Beachten Sie dass, das Controlcenter den genauen Litheral-Text "genau so wie er ist" verarbeitet.
Wenn ein Listenelement auf einer neuen Zeile geschrieben werden soll, müssen Sie sich vergewissern das dieses Element auf der gleichen Zeile in Ihrem
Litheral-Text mit dem Tag "</gc:list>" geschlossen wird.


Beispiele


//Nehmen wir an, dass die maplisten Einstellung ein Karten-Name pro Zeile ist.

<gc:list text=" %maplist% " random="yes">addMap <gc:value>
</gc:list>

// Dieses Spiel braucht eine genannte Folge, um die Karte-Liste zusammen zufügen

<gc:list text=" %maplist% ">part<gc:count start=1> = "changemap <gc:value> ; nextmap part<gc:value start=2>"
</gc:list>

// Man kann auch jeder Karte eine feste Spieleranzahl zuweisen.
// Hier zeigen wir ihnen anhand von Literal text wie es ungefair aussehen solte.

<gc:list text="downtown-8,cinema-16,hotel-12,lastmap-10" separator=",">addMap <gc:value separator="-" index="1">?playerLimit=<gc:value separator="-" index="2">


Remote Includes


Include Tags erlauben es Ihnen eine HTTP URL zu lesen, und wenn Sie in die Konfugrationsdatei des Hosts geschrieben ist, darauf zurückzugreifen. Wenn der Inhalt der URL dynamisch ist (z.B. in einer PHP oder ASP.NET Seite), kann der Inhalt der Konfigurationsdatei des Servers äußerlich entschlossen sein. Eine häufig verwendete Eigenschaft ist z.B. eine Banliste.

Format-Befehl


<gc:include> http-url </gc:include>


Beispiele


Beispiel
<gc:include>

http://www.example.com/bansystem/hl2bans.php

</gc:include>


Substrings


Substrings erlauben Ihnen, die Länge eines Wertes, oder das erstellen eines Teil des Wertes zu beschränken.

Format-Befehl

<gc:substr start="start-value" length="length-value"> arbitrary text </gc:substr>


Beispiele


Beispiel
// Stellen Sie sicher, dass der Name unseres Servers 30 Zeichen nicht überschreitet
hostname "<gc:substr length="30">%server:name%</gc:substr>"


// Hier wird '234' erstellt
<gc:substr start="2" length="3">123456</gc:substr>



Regular Expressions


Regular Expressions sind mächtige Funktionen, mit denen es möglich ist, über verschiedene Wege eine Umwandlung von Variablen durchführen zu können.Eine Typische Anwendungsmöglichkeit von Regular Expressions ist das Entfernen von Illegalen Zeichen in Variablen.
HIER (external link) finden Sie ein kleines Tutorial.
Und HIER (external link) können Sie eine Überprüfung durchführen.


Format-Befehl

<gc:regex find="find-pattern" replace="replace-pattern">arbitrary text</gc:regex>


Die Tags <gc:regex> und </gc:regex> sind beide Erforderlich. Die "find" und "replace" Attribute sind auch erforderlich. Willkürlicher Text kann wörtlichen Text, property substitutions und Tags beinhalten.
Find-pattern und replace-pattern(pattern=Muster) sind regelmäsßige Ausdruks Muster. Regular expressions sind ein Thema was wir hier nicht weiter ausführen.
Find-pattern müssen vorwärtsgerichtete Slashes angefügt werden. Die üblichen regular expression wie i für "ignore case" werden unterstüzt.


Beispiele


/ Ersetzen Sie jedes Zeichen welches kein Buchstabe oder eine Zahl mit einem Unterstrich ist.
<gc:regex find=" /[^A-Za-z0-9]/ " replace="_">$Bad Ch@racters</gc:regex>
// RESULT: _Bad_Ch_racters


Date Formatting


Das Controlcenter kann das Datum und/oder die Zeit (formatiert auf ihre Wünsche) einschliessen zu dem Zeitpunkt wenn die Datei geschrieben ist.

Ein Beispiel dessen, wo das nützlich sein kann, ist beim erstellen von Log Datein wo z.B drin steht wann der Sever das erstemal gestartet wurde.

<gc:date format="format-value" type="type-value">


Die Attribute der Format-Variable und Typ-Variable sind optional.

Das Weglassen des Attributes des Format-Werts würde bedeuten, dass ein standart Fromatstring verwendet wird.: d m Y g:ia

format-value enthält den formatting string wie man die Aktuelle Zeit und das Datum formatiert.

type-value ist eine Shortcut zum Spezifizieren einer besonderen Format-value, das erlaubt Ihnen eine vorherbestimmten Formatsting zu verwenden, ohne das Sie sich daran erinnern zu müssen.

Die für den Gebrauch verfügbaren Formatzeichen beruhen auf dem Format von PHP.

Beachte: Zeichen die hier nicht verwendet werden sind Literal Text. So ist die Verwendung einer Zeichenfolge von d/m/Y vollkommen gültig.

Format BuchstabeBeschreibungBeispiele und Werte
TAG
dTag des Monats, mit führender Null 01 bis 31
DText Wiedergabe des Tages(Nur 3 Buchstaben verwenden "ENGLISH") Montag bis Sonntag (mon-sun)
jTag des Monats, ohne führender Null 1 bis 31
l(klein L)Eine volle Textdarstellung des Wochentages(Eng) Sunday bis Saturday
NiSO-8601 numerische Darstellung des Tages der Woche 1 (for Monday) bis 7 (for Sunday)
S Englische Ordnungsnachsilbe für den Tag des Monats, 2 Zeichen st, nd, rd or th.
wNumerische Darstellung des Tages der Woche 0 (für Sontag) bis 6 (für Samstag)
z Tag des Jahres (Es geht bei Null los) 0 bis 365
Woche
W ISO-8601 Kalenderwoche des Jahres, Kalenderwoche beginnt am Montag Beispiel: 42 (die 42nd Woche im Jahr)
MONAT
F Das voll ausgeschriebene Wort des Monatas Janurar oder März Januar bis Dezember
m Nummer des Monats, mit fürender Null 01 bis 12
MMonats abkürzung (ENGLISH und nur drei Buchstaben Jan bis Dec
nNummer des Monats, ohne führende Null 1 bis 12
tAnzahl der Tage im jeweiligen Monat 28 bis 31
JAHR
LOb es ein Schaltjahr ist 1 es ist ein Schaltjahr, 0 keine Schaltjahr.
oISO-8601 Jahres Nummer. Hat denselben Wert wie Y, außer das die ISO Woche(W) dem vorherigen oder im nächsten Jahr gehört, und dieses Jahr stattdessen verwendet wird.Beispiel: 1999 or 2003
YEine volle numerische Darstellung eines Jahres, 4 Ziffern Beispiele: 1999 or 2003
yNumerirsche Darstellung eines Jahres, 2 Ziffern Beispiele: 99 or 03
ZEIT
aKleinbuchstabe- Vormittags und Am Nachmittag am oder pm
AGroßbuchstaben- Vormittags und Am NachmittagAM or PM
BMusterabschnitt-Internetzeit 000 bis 999
g12-Stunden format ohne fürende Null 1-12
G24-Stunden format ohne fürende Null 0-23
h12-Stunden format mit fürender Null 01 bis 12
H24-Stunden format mit fürender Null 00 bis 23
iMinuten, mit fürender Null 00 bis 59
sSekunden, mit fürender Null00 bis 59
eentschlüsselt die Zeitzone Beispiele UTC,GMT,Atlantic/Azores
I (großes i) Ungeachtet dessen ob das Datum in der Sommerzeit ist. 1 Somemrzeit, 0 Normale bzw. Winterzeit.
OUnterschied zur Greenwich Zeit (GMT) in Stunden Beispiel: +0200
ZZeitzone in Sekunden ausgeglichen. Der Ausgleich für Zeitzonen westlich von UTC ist immer negativ, und für diejenigen, die Östlich von UTC sind, positiv.-43200 bis 43200
FULL DATE/TIME
cISO 8601 datum 2004-02-12T15:19:21+00:00
rRFC 2822 formatiertes Datum Beispiel: Thu, 21 Dec 2000 16:01:07 +0200
USekunden seit dem Unix-Zeitalter (January 1 1970 00:00:00 GMT) 1143784289


Die verfügbaren type-value shortcuts sind zurzeit:

log - Wird ein für eine Protokolldatei passenden Zeitstempel zur Verfügung stellen: Y.m.d-g.i.sa

Beispiel


Hier ist ein Beispiel, wie man einem America´s Army Server sagt das er Starten soll, und bestimmte Informationen mitzuzeichnen.

Beispiel
server.exe global %startmap% -log=port%server:port%.log -ini=port%server:port%.ini -nohomedir -log port%server:port%-<gc:date type="log">.log


Erzeugt:

Beispiel
server.exe global Insurgent_Camp.aao -log=port2016.log -ini=port2016.ini -nohomedir -log port2016-2006.03.31-12.00.56pm.log


Das dem Log-Parameter der Kommandozeile gegebene Format umfasst das Wort 'port' als ein Präfix (um z.B. ihren Server zu identifizieren), gefolgt von der Portnummer des Servers, die dann von einem <gc:date> Tag mit dem vorherbestimmten format-Typ 'log' gefolgt ist.

Das Ergebnis ist ein outputstring, der den Tag, den Monat, das Jahr, die Stunde-Minute und die Sekunde anzeigt wann der Server gestartet wurde.

Natürlich könenn Sie auch dieses Format durch einen anderes ersetzen, wenn Sie möchten können Sie das durch den Parameter des format-value tun.

Beispiel
server.exe global %startmap% -log=port%server:port%.log -ini=port%server:port%.ini -nohomedir -log port%server:port%-<gc:date format="Y.m.d">.log


Erzeugt:

Beispiel
server.exe global Insurgent_Camp.aao -log=port2016.log -ini=port2016.ini -nohomedir -log port2016-2006.03.31.log



Random Numbers

Das Random Tag erlaubt Ihnen, eine zufällige Zahl zwischen einer definierten Reihe zu erzeugen.

Random Numbers sind nützlich, um in Logikentscheidungen zu verwenden, wenn Sie zu zufällige spezifischen Einstellungen wünschen, oder zufällige Werte oder Server-Optionen zuteilen möchten.

Format

<gc:random min="min-value" max="max-value">


Beispiele


Beispiel
<gc:random min="2" max="5">


Das Ergebnis dieses Ausdrucks kann die ganze Zahl 2, 3, 4 oder 5 sein.

Hash Generation


Das hash-Tags erlauben Ihnen, mehrere hash-Ketten zu erzeugen.

Format


Es sind viele Typen von hash algorythmen verfühgbar die man nutzen kann:
md5 (standart). Beispiel:098f6bcd4621d373cade4e832627b4f6
sha1. Beispiel: a94a8fe5ccb19ba61c4c0873d391e987982fbbd3
crc32. Beispiel: d87f7e0c


Beispiele


Beispiel
<gc:hash type="md5">test</gc:hash>


Erzeugt:

Beispiel
098f6bcd4621d373cade4e832627b4f6














































.
Powered by TikiWiki CMS/Groupware
| Theme: Kubrick