Task-Scheduler: Unterschied zwischen den Versionen

Aus Rising World Wiki
Keine Bearbeitungszusammenfassung
(Rechtschreibung korrigiert und Formatierung an einigen Stellen angepasst.)
 
(7 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
Der '''Task-Scheduler''' ist ein Aufgabenplaner für dedizierte Server.
Der '''Task-Scheduler''' ist ein Aufgabenplaner für dedizierte Server.


Mittels eines Editors können über den Aufgabenplaner benuzterdefinierte Aufgaben für Mehrspieler-Server eingerichtet werden. Diese Aufgaben können zu bestimmten Zeiten oder bei bestimmten Aktionen durchgeführt werden. Der Task-Scheduler kann auf bestimmte Aktionen wie zB die namendliche Begrüßung oder den Tod eines Spielers reagieren.
Mittels eines Editors können über den Aufgabenplaner benutzerdefinierte Aufgaben für Mehrspieler-Server eingerichtet werden. Diese Aufgaben können zu bestimmten Zeiten oder bei bestimmten Aktionen durchgeführt werden. Der Task-Scheduler kann auf bestimmte Aktionen wie z. B. die namentliche Begrüßung oder den Tod eines Spielers reagieren.


'''Einrichten des Aufgabenplaners:'''
==Einrichten des Aufgabenplaners==
Unter den Multiplayer-Server-Daten, befindet sich eine Datei namens <code>scheduler.example.txt</code>, diese kann mit einem Editor bearbeitet werden. Zum Aktivieren des Task-Scheduler muss die <code>scheduler.example.txt</code> in <code>scheduler.txt</code> geändert werden. Nach einem Restart des Servers ist der Aufgabenplaner aktiv.


Unter den Multiplayer-Server Daten, befindet sich eine Datei Names "scheduler.example.txt", diese kann mit einem Editor bearbeitet werden. Zum aktivieren des Task-Scheduler muß die "scheduler.example.txt" in "scheduler.txt" geändert werden. Nach einem Restart des Servers ist der Aufgabenplaner aktiv.
Jede Zeile der Datei <code>scheduler.txt</code> wird einzeln behandelt – das bedeutet, einen Befehl pro Zeile hinzufügen. Jeder Befehl beginnt mit einem „'''@'''“-Zeichen, gefolgt vom Auslöser und dem eigentlichen Befehl. z. B.: <code>@15m /say Dies ist eine Testnachricht!</code>


Jede Zeile der Datei "scheduler.txt" wird einzeln behandelt - das bedeutet, einen Befehl pro Zeile hinzufügen. Jeder Befehl beginnt mit einem „'''@'''“-Zeichen, gefolgt vom Auslöser und dem eigentlichen Befehl. zB: <code>@15m /say Dies ist eine Testnachricht!</code>
'''Beispiel:'''<syntaxhighlight lang="yaml">
 
##wird stündlich ausgeführt
'''Beispiel:'''
@1h /say Eine weitere Stunde ist vergangen...
 
##alle 10 Minuten eine grüne Chat-Nachricht
<code><nowiki>##</nowiki>wird stündlich ausgeführt</code>
@10m /say <color=green>Hallo Rising Worldspieler!</color>
 
##führt den "saveall"-Befehl um 15:00 Uhr aus
<code>@1h /say Eine weitere Stunde ist vergangen...</code>
@15:00 /saveall
 
##Sendet alle 1,5 Stunden eine HTTP-Anfrage. Bei Erfolg wird der Rückgabewert als neuer Befehl behandelt
<code><nowiki>##</nowiki>alle 10 Minuten eine grüne Chat-Nachricht</code>
@1h30m /httprequest https: //example-domain-test.net/api/checkforrestart
 
##Dadurch wird nach 12 Stunden ein Serverneustart ausgelöst
<code>@10m /say <color=green>Hallo Rising Worldspieler!</color></code>
@+12h /restart  
 
</syntaxhighlight>Auf einige eingebaute Variablen kann ebenso zugegriffen werden, die immer verfügbar sind. Dies aktuelle Spieleranzahl (zugänglich über <code>%playercount%</code>) und jede Serveroption, die in der Datei <code>server.properties</code> definiert ist.
<code><nowiki>##</nowiki>führt den "saveall"-Befehl um 15:00 Uhr aus</code>
 
<code>@15:00 /saveall</code>
 
<code><nowiki>##</nowiki>Sendet alle 1,5 Stunden eine HTTP-Anfrage. Bei Erfolg wird der Rückgabewert als neuer Befehl behandelt</code>
 
<code>@1h30m /httprequest https: //example-domain-test.net/api/checkforrestart</code>
 
<code><nowiki>##</nowiki>Dadurch wird nach 12 Stunden ein Serverneustart ausgelöst</code>
 
<code>@+12h /restart</code>
 
 
Auf einige eingebaute Variablen kann ebenso zugegriffen werden, die immer verfügbar sind. Dies aktuelle Spieleranzahl (zugänglich über <code>%playercount%</code>) und jede Serveroption, die in der Datei "server.properties" definiert ist.  


(z. B. <code>%serveroption.server.shortname%</code> oder <code>%serveroption.world.seed%</code>).
(z. B. <code>%serveroption.server.shortname%</code> oder <code>%serveroption.world.seed%</code>).
{| class="wikitable"
{| class="wikitable"
|+Tabelle für bestimmter Ereignisse
|+ Tabelle für bestimmter Ereignisse
!Befehl
!Befehl
!Parameter
!Parameter
Zeile 42: Zeile 29:
|-
|-
|@OnPlayerConnect
|@OnPlayerConnect
|%name% (name des spielers)
| %name% (name des spielers)
|Wird immer dann aufgerufen, wenn sich ein Spieler mit dem Server verbindet
|Wird immer dann aufgerufen, wenn sich ein Spieler mit dem Server verbindet
|-
|-
|@OnPlayerDisconnect
|@OnPlayerDisconnect
|%name% (name des spielers)
| %name% (name des spielers)
|Wird immer dann aufgerufen, wenn ein Spieler die Verbindung zum Server trennt
|Wird immer dann aufgerufen, wenn ein Spieler die Verbindung zum Server trennt
|-
|-
|@OnPlayerSpawn
|@OnPlayerSpawn
|%name% (name des spielers)
| %name% (name des spielers)
|Wenn ein Spieler auf dem Server spawnt
|Wenn ein Spieler auf dem Server spawnt
|-
|-
|@OnPlayerRespawn
|@OnPlayerRespawn
|%name% (name des spielers)
| %name% (name des spielers)
|Wenn ein Spieler wieder auftaucht (nach dem Tod)
|Wenn ein Spieler wieder auftaucht (nach dem Tod)
|-
|-
|@OnPlayerDeath
|@OnPlayerDeath
|%name% (name des spielers)
| %name% (name des spielers)
|Wenn ein Spieler stirbt (es sei denn, er wurde von einem anderen Spieler oder NPC getötet)
|Wenn ein Spieler stirbt (es sei denn, er wurde von einem anderen Spieler oder NPC getötet)
|-
|-
|@OnPlayerKilledPlayer
|@OnPlayerKilledPlayer
|%name% (Name des verstorbenen Spielers), %killer% (Name des Mörders), %item% (Item, was verwendet wurde)
| %name% (Name des verstorbenen Spielers), %killer% (Name des Mörders), %item% (Item, was verwendet wurde)
|Wenn ein Spieler von einem anderen Spieler getötet wurde
|Wenn ein Spieler von einem anderen Spieler getötet wurde
|-
|-
|@OnPlayerKilledNpc
|@OnPlayerKilledNpc
|%name% (Name des Spielers, der den NPC getötet hat), %npc% (NPC, der gestorben ist), %item% (Item, was verwendet wurde)
| %name% (Name des Spielers, der den NPC getötet hat), %npc% (NPC, der gestorben ist), %item% (Item, was verwendet wurde)
|Wenn ein Spieler einen NPC tötet
|Wenn ein Spieler einen NPC tötet
|-
|-
|@OnNpcKilledPlayer
|@OnNpcKilledPlayer
|%name% (Name des verstorbenen Spielers), %npc% (Name des Killer-NPCs)
| %name% (Name des verstorbenen Spielers), %npc% (Name des Killer-NPCs)
|Wenn ein NPC einen Spieler tötet
| Wenn ein NPC einen Spieler tötet
|-
|-
|@OnWeatherChange
|@OnWeatherChange  
|%weather% (Name des neuen Wettertyps), %oldweather% (vorher eingestellter Wettertyp)
|%weather% (Name des neuen Wettertyps), %oldweather% (vorher eingestellter Wettertyp)  
|Wenn sich das Wetter ändert (entweder natürlich oder per Befehl)
|Wenn sich das Wetter ändert (entweder natürlich oder per Befehl)
|}
|}
'''Beispiel:'''
'''Beispiel:'''<syntaxhighlight lang="yaml">
 
##Wenn jemand einen anderen Spieler tötet, senden Sie ihm eine rote Nachricht
<code><nowiki>##</nowiki>Wenn jemand einen anderen Spieler tötet, senden Sie ihm eine rote Nachricht</code>


<code>@OnPlayerKilledPlayer /yell @%killer% <color=red>Du hast gemordet %name%</color></code>
@OnPlayerKilledPlayer /yell @%killer% <color=red>Du hast gemordet %name%</color>


<code><nowiki>##</nowiki>Sendet eine Chat-Nachricht an den verstorbenen Spieler (betonen Sie den Namen des Mörders).</code>
##Sendet eine Chat-Nachricht an den verstorbenen Spieler (betonen Sie den Namen des Mörders).


<code>@OnPlayerKilledPlayer /say @%name% Sie wurden von getötet <nowiki><b><u>%killer%</u></nowiki><nowiki></b></nowiki>!</code>
@OnPlayerKilledPlayer /say @%name% Sie wurden von getötet <b><u>%killer%</u></b>!


<code><nowiki>##</nowiki>Willkommensnachricht an einen Spieler, wenn er dem Spiel beitritt</code>
##Willkommensnachricht an einen Spieler, wenn er dem Spiel beitritt


<code>@OnPlayerSpawn /say @%name% Willkommen bei %serveroption.server.shortname%! Bitte lesen Sie unsere Regeln</code>
@OnPlayerSpawn /say @%name% Willkommen bei %serveroption.server.shortname%! Bitte lesen Sie unsere Regeln


<code><nowiki>##</nowiki>Nachricht, wenn sich das Wetter ändert</code>
##Nachricht, wenn sich das Wetter ändert


<code>@OnWeatherChange /say Wetter ändert sich zu %weather% jetzt...</code>
@OnWeatherChange /say Wetter ändert sich zu %weather% jetzt...


<code><nowiki>##</nowiki>Wenn ein Spieler zum ersten Mal spawnt</code>
##Wenn ein Spieler zum ersten Mal spawnt


<code>@OnPlayerSpawn /say @%name% Hallo %name%, willkommen bei den %serveroption.shortname%. Derzeit gibt es %playercount% Spieler online!</code>
@OnPlayerSpawn /say @%name% Hallo %name%, willkommen bei den %serveroption.shortname%. Derzeit gibt es %playercount% Spieler online!


<code><nowiki>##</nowiki>wenn ein Spieler stirbt (es sei denn, er wurde von einem anderen Spieler getötet).</code>
##wenn ein Spieler stirbt (es sei denn, er wurde von einem anderen Spieler getötet).


<code>@OnPlayerDeath /say <color=red>Player %name% died...</color></code>
@OnPlayerDeath /say <color=red>Player %name% died...</color>


<code><nowiki>##</nowiki>Dieses Ereignis wird ausgelöst, wenn ein Spieler einen anderen Spieler tötet, Ausgabefarbe ist hier Rot.</code>
##Dieses Ereignis wird ausgelöst, wenn ein Spieler einen anderen Spieler tötet, Ausgabefarbe ist hier Rot.


<code>@OnPlayerKilledPlayer /say <color=red>%killer% killed %name% with %item%</color></code>
@OnPlayerKilledPlayer /say <color=red>%killer% killed %name% with %item%</color>


<code>@OnPlayerKilledPlayer /yell @%killer% <color=red>%name% killed!</color></code>
@OnPlayerKilledPlayer /yell @%killer% <color=red>%name% killed!</color>


<code><nowiki>##</nowiki>Nachricht des Tages</code>
##Nachricht des Tages


<code>@1h /say Wir lieben Rising World, hab einen schönen Tag</code>
@1h /say Wir lieben Rising World, hab einen schönen Tag


<code><nowiki>##</nowiki>Neustart Handling</code>
##Neustart Handling


<code>@+11h30m /say Warning: Server restarts in 30 minutes!</code>
@+11h30m /say Warnung: Server restart in 30 Minuten!


<code>@+11h45m /say Warning: Server restarts in 15 minutes!</code>
@+11h45m /say Warnung: Server restart in 15 Minuten!


<code>@+11h50m /yell Server restarts in 10 minutes!</code>
@+11h50m /yell Server restart in 10 Minuten!


<code>@+11h55m /yell Server restarts in 5 minutes!</code>
@+11h55m /yell Server restart in 5 Minuten!


<code>@+11h57m /kickall Server restart</code>
@+11h57m /kickall Server restart


<code>@+11h58m /saveall</code>
@+11h58m /saveall


<code>@+12h /restart</code>
@+12h /restart
</syntaxhighlight>

Aktuelle Version vom 10. Februar 2022, 23:39 Uhr

Der Task-Scheduler ist ein Aufgabenplaner für dedizierte Server.

Mittels eines Editors können über den Aufgabenplaner benutzerdefinierte Aufgaben für Mehrspieler-Server eingerichtet werden. Diese Aufgaben können zu bestimmten Zeiten oder bei bestimmten Aktionen durchgeführt werden. Der Task-Scheduler kann auf bestimmte Aktionen wie z. B. die namentliche Begrüßung oder den Tod eines Spielers reagieren.

Einrichten des Aufgabenplaners

Unter den Multiplayer-Server-Daten, befindet sich eine Datei namens scheduler.example.txt, diese kann mit einem Editor bearbeitet werden. Zum Aktivieren des Task-Scheduler muss die scheduler.example.txt in scheduler.txt geändert werden. Nach einem Restart des Servers ist der Aufgabenplaner aktiv.

Jede Zeile der Datei scheduler.txt wird einzeln behandelt – das bedeutet, einen Befehl pro Zeile hinzufügen. Jeder Befehl beginnt mit einem „@“-Zeichen, gefolgt vom Auslöser und dem eigentlichen Befehl. z. B.: @15m /say Dies ist eine Testnachricht!

Beispiel:

##wird stündlich ausgeführt
@1h /say Eine weitere Stunde ist vergangen...
##alle 10 Minuten eine grüne Chat-Nachricht
@10m /say <color=green>Hallo Rising Worldspieler!</color>
##führt den "saveall"-Befehl um 15:00 Uhr aus
@15:00 /saveall
##Sendet alle 1,5 Stunden eine HTTP-Anfrage. Bei Erfolg wird der Rückgabewert als neuer Befehl behandelt
@1h30m /httprequest https: //example-domain-test.net/api/checkforrestart
##Dadurch wird nach 12 Stunden ein Serverneustart ausgelöst
@+12h /restart

Auf einige eingebaute Variablen kann ebenso zugegriffen werden, die immer verfügbar sind. Dies aktuelle Spieleranzahl (zugänglich über %playercount%) und jede Serveroption, die in der Datei server.properties definiert ist.

(z. B. %serveroption.server.shortname% oder %serveroption.world.seed%).

Tabelle für bestimmter Ereignisse
Befehl Parameter Beschreibung
@OnPlayerConnect %name% (name des spielers) Wird immer dann aufgerufen, wenn sich ein Spieler mit dem Server verbindet
@OnPlayerDisconnect %name% (name des spielers) Wird immer dann aufgerufen, wenn ein Spieler die Verbindung zum Server trennt
@OnPlayerSpawn %name% (name des spielers) Wenn ein Spieler auf dem Server spawnt
@OnPlayerRespawn %name% (name des spielers) Wenn ein Spieler wieder auftaucht (nach dem Tod)
@OnPlayerDeath %name% (name des spielers) Wenn ein Spieler stirbt (es sei denn, er wurde von einem anderen Spieler oder NPC getötet)
@OnPlayerKilledPlayer %name% (Name des verstorbenen Spielers), %killer% (Name des Mörders), %item% (Item, was verwendet wurde) Wenn ein Spieler von einem anderen Spieler getötet wurde
@OnPlayerKilledNpc %name% (Name des Spielers, der den NPC getötet hat), %npc% (NPC, der gestorben ist), %item% (Item, was verwendet wurde) Wenn ein Spieler einen NPC tötet
@OnNpcKilledPlayer %name% (Name des verstorbenen Spielers), %npc% (Name des Killer-NPCs) Wenn ein NPC einen Spieler tötet
@OnWeatherChange %weather% (Name des neuen Wettertyps), %oldweather% (vorher eingestellter Wettertyp) Wenn sich das Wetter ändert (entweder natürlich oder per Befehl)

Beispiel:

##Wenn jemand einen anderen Spieler tötet, senden Sie ihm eine rote Nachricht

@OnPlayerKilledPlayer /yell @%killer% <color=red>Du hast gemordet %name%</color>

##Sendet eine Chat-Nachricht an den verstorbenen Spieler (betonen Sie den Namen des Mörders).

@OnPlayerKilledPlayer /say @%name% Sie wurden von getötet <b><u>%killer%</u></b>!

##Willkommensnachricht an einen Spieler, wenn er dem Spiel beitritt

@OnPlayerSpawn /say @%name% Willkommen bei %serveroption.server.shortname%! Bitte lesen Sie unsere Regeln

##Nachricht, wenn sich das Wetter ändert

@OnWeatherChange /say Wetter ändert sich zu %weather% jetzt...

##Wenn ein Spieler zum ersten Mal spawnt

@OnPlayerSpawn /say @%name% Hallo %name%, willkommen bei den %serveroption.shortname%. Derzeit gibt es %playercount% Spieler online!

##wenn ein Spieler stirbt (es sei denn, er wurde von einem anderen Spieler getötet).

@OnPlayerDeath /say <color=red>Player %name% died...</color>

##Dieses Ereignis wird ausgelöst, wenn ein Spieler einen anderen Spieler tötet, Ausgabefarbe ist hier Rot.

@OnPlayerKilledPlayer /say <color=red>%killer% killed %name% with %item%</color>

@OnPlayerKilledPlayer /yell @%killer% <color=red>%name% killed!</color>

##Nachricht des Tages

@1h /say Wir lieben Rising World, hab einen schönen Tag

##Neustart Handling

@+11h30m /say Warnung: Server restart in 30 Minuten!

@+11h45m /say Warnung: Server restart in 15 Minuten!

@+11h50m /yell Server restart in 10 Minuten!

@+11h55m /yell Server restart in 5 Minuten!

@+11h57m /kickall Server restart

@+11h58m /saveall

@+12h /restart