Task-Scheduler: Unterschied zwischen den Versionen

Aus Rising World Wiki
(Die Seite wurde neu angelegt: „Der '''Task-Schedule'''r ist ein Aufgabenplaner für dedizierte Server. Mittels eines Editors kann man mit dem Aufgabenplaner benutzerdefinierte Aufgaben für…“)
 
(Rechtschreibung korrigiert und Formatierung an einigen Stellen angepasst.)
 
(9 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
Der '''Task-Schedule'''r ist ein Aufgabenplaner für dedizierte Server.
Der '''Task-Scheduler''' ist ein Aufgabenplaner für dedizierte Server.


Mittels eines Editors kann man mit dem Aufgabenplaner benutzerdefinierte Aufgaben für einen Mehrspieler-Server einrichten. Diese Aufgaben können können zu bestimmten Zeiten oder Actionen durchgeführt werden. Der Task-Scheduler kann auf bestimmte Actionen 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, findet man eine Datei Names "scheduler.example.txt", diese kann mit einem Editor beatbeitet werden. Zum aktivieren des Task-Scheduler muß die "scheduler.example.txt" in "scheduler.txt" gespeichert 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. Beispiel: @15m /say Dies ist eine Testnachricht! - Dies führt den Befehl /say alle 15 Minuten aus (definiert durch die 15m).
'''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
<nowiki>##</nowiki>wird stündlich ausgeführt
@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
<nowiki>##</nowiki>alle 10 Minuten eine grüne Chat-Nachricht
@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.
<nowiki>##</nowiki>führt den "saveall"-Befehl um 15:00 Uhr aus
 
<code>@15:00 /saveall</code>
 
<nowiki>##</nowiki>Sendet alle 1,5 Stunden eine HTTP-Anfrage. Bei Erfolg wird der Rückgabewert als neuer Befehl behandelt
 
<code>@1h30m /httprequest https: //example-domain-test.net/api/checkforrestart</code>
 
<nowiki>##</nowiki>Dadurch wird nach 12 Stunden ein Serverneustart ausgelöst
 
<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
<nowiki>##</nowiki>Wenn jemand einen anderen Spieler tötet, senden Sie ihm eine rote Nachricht


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


<nowiki>##</nowiki>Sendet eine Chat-Nachricht an den verstorbenen Spieler (betonen Sie den Namen des Mörders).
##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>!


<nowiki>##</nowiki>Willkommensnachricht an einen Spieler, wenn er dem Spiel beitritt
##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


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


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


<nowiki>##</nowiki>Wenn ein Spieler zum ersten Mal spawnt
##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!


<nowiki>##</nowiki>wenn ein Spieler stirbt (es sei denn, er wurde von einem anderen Spieler getötet).
##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>


<nowiki>##</nowiki>Dieses Ereignis wird ausgelöst, wenn ein Spieler einen anderen Spieler tötet, Ausgabefarbe ist hier Rot.
##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>


<nowiki>##</nowiki>Nachricht des Tages
##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


<nowiki>##</nowiki>Neustart Handling
##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