EpicSpleef

Aus Nitradopedia
Wechseln zu: Navigation, Suche
EpicSpleef
Pluginlogo-EpicSpleef.png
Servermod: Bukkit/Spigot
Kategorie: Minispiel
Entwickler: BtoBastian
Entwicklerwebsite: Foreneintrag
Was bewirkt es? Ermöglicht das Erstellen von Spleef-Arenen
Besonderheiten: Unterstützt Lobbies, mehrere Spielmodi (BowSpleef, Splegg, etc.)
und bietet umfassende Statistiken
Download: Link

Was ist EpicSpleef
EpicSpleef ist ein Minecraft Bukkit/Spigot Plugin für das Minispiel Spleef und zahlreiche Spleefvariationen. Eine gute Beschreibung des Minispiels findet sich im Minecraft-Wiki: Link

Installation

Schritt 1 - EpicSpleef downloaden
Zuerst müsst ihr EpicSpleef downloaden. Die aktuelle Version von EpicSpleef kann hier gefunden werden. Weitere Suchmöglichkeiten findet man unter anderem auch hier, dort sucht nach "EpicSpleef".

Schritt 2 - EpicSpleef installieren
Nun müsst ihr den Server stoppen. Nachdem der Server gestoppt wurde schiebt ihr die "EpicSpleef-X.X.X.jar" in den Pluginsordner. Nun startet ihr den Server. Es wird der Ordner "EpicSpleef" (im Pluginordner) erstellt. In diesem Ordner ist eine "config.yml", "language.yml", "database.db", sowie zwei weitere Ordner für die Arenen und Lobbies.

Installation abgeschlossen

Konfigurieren der config.yml

Verzeichnis: /minecraftbukkit/plugins/EpicSpleef/config.yml

mainSettings:
  languagefile: language.yml

languagefile - Aus welcher Datei sollen die Spracheinstellungen gelesen werden?

auto-update:
  check: true
  update: true
  unsafeUpdates: false

check - Soll geprüft werden, ob Updates verfügbar sind? Wird dies auf false gesetzt wird der Auto-Updater komplett deaktiviert.
update - Sollen neue Versionen automatisch heruntergeladen und installiert werden?
unsafeUpdates - Sollen "unsichere" Updates installiert werden? Wird dies auf false gesetzt, werden nur Updates installiert, deren empfohlene Version mit der des Servers in den ersten zwei Stellen übereinstimmt. Wenn die empfohlene Version z.B. "1.8.1" ist und der Server noch auf Version "1.7.10" läuft, wird das Update nicht installiert.

scoreboard:
  - '&a&lWins'
  - '%wins%'
  - '&1'
  - '&c&lLosses'
  - '%losses%'
  - '&2'
  - '&6&lPoints'
  - '%points%'
  - '&3'
  - '&a&lTotal Wins'
  - '%totalWins%'
  - '&4'
  - '&c&lTotal Losses'
  - '%totalLosses%'

Dies stellt die einzelnen Zeilen des Scoreboards da. Leere Zeilen müssen mit verschiedenen Farbcodes (z.B. "&1") gefüllt werden. %wert% wird mit dem entsprechenden Wert der Statistik des Spielers ersetzt

joinsigns:
  waitingForPlayers:
    lines:
      1: '&l&9%arena%'
      2: '&2FREI'
      3: '%players% / %maxPlayers%'
      4: '&aBeitreten'
  full:
    lines:
      1: '&l&9%arena%'
      2: '&4VOLL'
      3: '%players% / %maxPlayers%'
      4: 'Countdown: &c%countdown%'
  inProgress:
    lines:
      1: '&l&9%arena%'
      2: '&4Spiel aktiv'
      3: '%players% / %maxPlayers%'
      4: '&aBeobachten'
  disabled:
    lines:
      1: '&l&9%arena%'
      2: '&cDeaktiviert'
      3: 
      4: 

waitingForPlayers - Hier wird eingestellt, wie ein Join-Schild aussieht, wenn die Arena gerade frei ist.
full - Hier wird eingestellt, wie ein Join-Schild aussieht, wenn die Arena gerade voll ist, d.h. das Spiel noch nicht gestartet hat, ein Beitreten jedoch nicht mehr möglich ist.
inProgress - Hier wird eingestellt, wie ein Join-Schild aussieht, wenn das Spiel gerade aktiv ist.
disabled - Hier wird eingestellt, wie ein Join-Schild aussieht, wenn die Arena gerade deaktiviert ist.

stats:
  enable: true

enable - Sollen Statistiken gesammelt werden, oder nicht?

expertsOnly:
  stats:
    threadPoolSettings:
      ownParameters: false
      corePoolSize: 0
      maximumPoolSize: 100
      keepAliveTimeInMilliSeconds: 60000

Diese Einstellungen beziehen sich auf das Multithreading beim Speichern der Statistiken und sollten nur geändert werden, wenn man Ahnung von der Materie hat. Die Standardeinstellungen sind meist vollkommen ausreichend.

<spoiler text="Originale config.yml">

#####################################################################
#####################################################################
###           _____      _      _____       _            __       ###
###          |  ___|    (_)    /  ___|     | |          / _|      ###
###          | |__ _ __  _  ___\ `--. _ __ | | ___  ___| |_       ###
###          |  __| '_ \| |/ __|`--. \ '_ \| |/ _ \/ _ \  _|      ###
###          | |__| |_) | | (__/\__/ / |_) | |  __/  __/ |        ###
###          \____/ .__/|_|\___\____/| .__/|_|\___|\___|_|        ###
###               | |                | |                          ###
###               |_|                |_|                          ###
###                                                               ###
###      _           ___ _       ___          _   _               ###
###     | |__ _  _  | _ ) |_ ___| _ ) __ _ __| |_(_)__ _ _ _      ###
###     | '_ \ || | | _ \  _/ _ \ _ \/ _` (_-<  _| / _` | ' \     ###
###     |_.__/\_, | |___/\__\___/___/\__,_/__/\__|_\__,_|_||_|    ###
###           |__/                                                ###
#####################################################################
#####################################################################
mainSettings:
  languagefile: lang.yml
auto-update:
  check: true
  update: true
# If unsafeUpdates are enabled it will also download plugins versions for higher game versions. If not it will just download the plugin if the game-version fits even if there's a newer version of the plugin.
  unsafeUpdates: true
scoreboard:
  - '&a&lWins'
  - '%wins%'
  - '&1'
  - '&c&lLosses'
  - '%losses%'
  - '&2'
  - '&6&lPoints'
  - '%points%'
  - '&3'
  - '&a&lTotal Wins'
  - '%totalWins%'
  - '&4'
  - '&c&lTotal Losses'
  - '%totalLosses%'
joinsigns:
  waitingForPlayers:
    lines:
      1: '&l&9%arena%'
      2: '&2JOINABLE'
      3: '%players% / %maxPlayers%'
      4: '&aClick to join'
  full:
    lines:
      1: '&l&9%arena%'
      2: '&4FULL'
      3: '%players% / %maxPlayers%'
      4: 'Countdown: &c%countdown%'
  inProgress:
    lines:
      1: '&l&9%arena%'
      2: '&4IN GAME'
      3: '%players% / %maxPlayers%'
      4: '&aClick to spectate'
  disabled:
    lines:
      1: '&l&9%arena%'
      2: '&cDISABLED'
      3: ''
      4: ''
stats:
  enable: true
expertsOnly:
  stats:
    threadPoolSettings:
      ownParameters: false
      corePoolSize: 0
      maximumPoolSize: 100
      keepAliveTimeInMilliSeconds: 60000

</spoiler>

Eine Arena erstellen

Schritt 1 - In die Welt der Arena gehen
Als erstes müsst ihr euch in die Welt der Arena teleportieren. Wo genau ihr euch in der Welt aufhaltet ist zu diesem Zeitpunkt noch unwichtig.

Schritt 2 - Die Arena erstellen
Um die Arena zu erstellen müsst ihr den Befehl /spleef create <NameDerArena> eingeben, wobei ihr "<NameDerArena>" durch einen beliebigen Namen ersetzen könnt.

Schritt 3 - Einen Boden hinzufügen
Als nächstes müsst ihr der Arena einen Boden hinzufügen. Dafür stehen mehrere Möglichkeiten zur Verfügung:

  1. Mit WorldEdit
    Ihr könnt den Boden mithilfe von WorldEdit erstellen. Dafür markiert ihr einfach die entsprechende Stelle und gebt den Befehl /spleef addBlocks <NameDerArena> worldedit ein.
  2. Der Boden auf dem ihr steht
    Eine - vorallem bei nicht rechteckigen Arenan - einfachere Möglichkeit den Boden hinzuzufügen ist der Befehl /spleef addBlocks <NameDerArena> standingOn, der den Boden, auf dem ihr gerade steht zu der Arena hinzufügt. Erkannt wird dies daran, ob die Nachbar-Blöcke aus dem selben Material bestehen. Beachtet dies beim Bau, sodass nicht aus Versehn ungewollt Blöcke hinzugefügt werden.
  3. Der Boden, auf den ihr schaut
    Im Grunde wie bei "standingOn", bloß, dass hierbei der Boden hinzugefügt wird, auf den ihr schaut und nicht der, auf dem ihr steht. Gebt hierfür /spleef addBlocks <NameDerArena> lookingAt ein.

Es werden mehrere Ebenen unterstützt.

Schritt 4 - Spawnpunkte hinzufügen
Nun müsst ihr die Spawnpunkte der Arena setzen, die zugleich die Anzahl der maximalen Spieler festlegen. Stellt euch hierfür an die gewünschten Spawnpunkte und gebt den Befehl /spleef addSpawnloc <NameDerArena> ein.

Schritt 5 - Die Arena aktivieren
Wenn ihr mit allem fertig seid, müsst ihr die Arena nur noch mit dem Befehl /spleef setValue <NameDerArena> enabled true aktivieren.

Fertig

Arenen konfigurieren

Ihr könnt eine Arena entweder mithilfe von Ingame-Befehlen modifizieren, oder manuell die Konfigurations-Datei bearbeiten:

Bearbeiten der <NameDerArena>.yml

Eine Möglichkeit der Konfiguration ist es, die Konfigurations-Datei der Arena zu bearbeiten.
Verzeichnis: /minecraftbukkit/plugins/EpicSpleef/arenas/<NameDerArena>.yml

enabled: false
mode: normal
world: world
modifygravity:
  enable: false
  gravity: 0.5
snowballs:
  enable: true
  maxSnowballs: 16
minPlayers: 2
requiredPlayersToStartCountdown: 2
freezePlayers: true
customInventory:
  enabled: false
  items:
    '0':
      ==: org.bukkit.inventory.ItemStack
      type: DIAMOND_SPADE
reward:
  points:
    winning: 50
    participation: 10
  money:
    winning: 50
    participation: 10
joinsigns:
  '1':
    world: world
    x: -14
    y: 71
    z: -30
...
spawnlocs:
  '1':
    x: -4.5
    y: 101.0
    z: -9.5
    yaw: 332.85016
    pitch: -0.15003778
...
blocks:
  '1':
    x: 0
    y: 100
    z: 0
...

enabled - Soll die Arena aktiv sein, oder deaktiviert?
mode - Der Spielmodus (normal, bowspleef, splegg)
world - Die Welt der Arena
modifyGravity - enabled legt fest, ob die Schwerkraft der Arena modifiziert werden soll, gravity, wie stark die Schwerkraft sein soll.
snowballs - enabled legt fest, ob Schneebälle aktiviert sein sollen, maxSnowballs, wie viele Schneebälle man maximal haben kann.
minPlayers - Die Mindestanzahl an Spieler. Wird diese Anzahl erreicht, startet der Countdown.
requiredPlayersToStartCountdown - Ab dieser Anzahl an Spielern startet der Countdown. Muss mindestens 2 betragen!
freezePlayers - Sollen die Spieler bis zum Countdown an ihrem Spawnpunkt stehen bleiben müssen, oder dürfen sie schon während des Countdowns in der Arena laufen?
customInventory - Legt fest, ob ein eigenes Inventar verwendet werden soll und kein Vorgefertigtes (Modi). Ihr könnt damit z.B. dem Spieler sowohl eine Schaufel UND einen Bogen geben. Ingame-Befehle empfohlen!
reward - Die Geld- und Punktbelohnung, die ein Spieler für einen Sieg, bzw. für die Teilnahme erhalten soll. lobby - Die Lobby der Arena. Dieser Punkt kann weggelassen werden.
joinsigns - Alle Join-Schilder der Arena. Zur einfacheren Erstellung sind Ingame-Befehle empfohlen.
spawnlocs - Alle Spawnpunkte der Arena. Zur einfacheren Erstellung sind Ingame-Befehle empfohlen.
blocks - Alle Blöcke der Arena. Zur einfacheren Erstellung sind Ingame-Befehle empfohlen.

Erstellen und Zuweisen einer Lobby

Ihr habt die Möglichkeit eurer Arena eine Warte-Lobby hinzuzufügen. Wenn Spieler der Arena beitreten kommen sie zuerst in die Lobby und werden nicht sofort in die Arena teleportiert. Dies ist vor allem bei größeren Arenen sinnvoll um die Arena voll zu bekommen. Das Erstellen einer Arena ist in 2-3 kleinen Schritten erledigt:

Schritt 1 - Die Arena erstellem
Um eine Arena zu erstellen müsst ihr nur den Befehl /spleeflobby create <NameDerLobby> eingeben während ihr euch in der Welt der Lobby befindet. <NameDerLobby> muss dabei mit dem Namen der Lobby ersetzt werden.

Schritt 2 - Spawnpunkte hinzufügen
Jetzt müsst ihr mindestens einen Spawnpunkt hinzufügen. Begebt euch hierfür einfach an die Position, an der der Spawnpunkt erstellt werden soll und gebt /spleeflobby addSpawnLoc <NameDerArena> ein. Wenn ein Spieler die Lobby betritt wird er an einen zufälligen Spawnpunkt teleportiert, daher ist es kein Problem, wenn die Lobby weniger Spawnpunkte als die Arena haben sollte.

Schritt 3 - Der Arena die Lobby zuweisen
Um einer Arena eine Lobby zuzuweisen müsst ihr nur den Befehl /spleef setLobby <NameDerArena> <NameDerLobby> eingeben. Eine Lobby kann theoretisch für mehrere Arenen gleichzeitig verwendet werden, ist jedoch nicht empfohlen, da es Verwirrung bei den Spielern verursachen kann.

Lobby erfolgreich erstellt und zugewiesen!

Erstellen von Join-Schildern

Ihr könnt Join-Schilder für die Arenen erstellen, die aktuelle Informationen wie Spieleranzahl, Spielstatus, etc. enthalten und mit deren Hilfe man einer Arena beitreten kann.
Zum Erstellen einen Join-Schildes reicht bereits ein einziger Befehl: /spleef addJoinSign <NameDerArena>. Ihr müsst während der Eingabe des Befehls auf das Schild schauen, welches als Join-Schild benutzt werden soll. Das Aussehen der Schilder könnt ihr in der config.yml frei konfigurieren (siehe EpicSpleef#Konfigurieren_der_config.yml).

Über diesen Artikel

Dieses Tutorial basiert auf der Plugin-Version 0.0.11
Dieses Tutorial wurde erstellt durch: BtoBastian Dieses Tutorial wurde erstellt am: 27.01.2015
Zuletzt bearbeitet durch: BtoBastian Letzte Aktualisierung am: 07.02.2015