Task-Scheduler: Unterschied zwischen den Versionen
Lenko (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
(Rechtschreibung korrigiert und Formatierung an einigen Stellen angepasst.) |
||
(4 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 | 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 <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. | |||
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 | |||
'''Beispiel:'''<syntaxhighlight lang="yaml"> | |||
##wird stündlich ausgeführt | |||
@1h /say Eine weitere Stunde ist vergangen... | @1h /say Eine weitere Stunde ist vergangen... | ||
##alle 10 Minuten eine grüne Chat-Nachricht | |||
@10m /say <color=green>Hallo Rising Worldspieler!</color> | @10m /say <color=green>Hallo Rising Worldspieler!</color> | ||
##führt den "saveall"-Befehl um 15:00 Uhr aus | |||
@15:00 /saveall | @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 | @1h30m /httprequest https: //example-domain-test.net/api/checkforrestart | ||
##Dadurch wird nach 12 Stunden ein Serverneustart ausgelöst | |||
@+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. | |||
@+12h /restart</ | |||
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 | |||
(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 | |||
< | |||
@OnPlayerKilledPlayer /yell @%killer% <color=red>Du hast gemordet %name%</color> | @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 | @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 | @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... | @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! | @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> | @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 /say <color=red>%killer% killed %name% with %item%</color> | ||
Zeile 109: | Zeile 95: | ||
@OnPlayerKilledPlayer /yell @%killer% <color=red>%name% killed!</color> | @OnPlayerKilledPlayer /yell @%killer% <color=red>%name% killed!</color> | ||
##Nachricht des Tages | |||
@1h /say Wir lieben Rising World, hab einen schönen Tag | @1h /say Wir lieben Rising World, hab einen schönen Tag | ||
##Neustart Handling | |||
@+11h30m /say | @+11h30m /say Warnung: Server restart in 30 Minuten! | ||
@+11h45m /say | @+11h45m /say Warnung: Server restart in 15 Minuten! | ||
@+11h50m /yell Server | @+11h50m /yell Server restart in 10 Minuten! | ||
@+11h55m /yell Server | @+11h55m /yell Server restart in 5 Minuten! | ||
@+11h57m /kickall Server restart | @+11h57m /kickall Server restart | ||
Zeile 128: | Zeile 114: | ||
@+12h /restart | @+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%
).
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