Posts by Weiiswurst

    Hi!

    Ihr fragt euch vielleicht, wie man auf xServers ein Coinsystem erstellt!

    Das Plugin Essentials hat bereits ein Geldsystem. Man kann allerdings nicht mit Commandblöcken auslesen, wer wie viel Geld hat.

    Um Geld also zu automatisieren, braucht man ein Coinsystem ohne Essentials.

    Ich erkläre in diesem Tutorial, wie man dieses Coinsystem aufsetzt. Weil es völlig ohne Plugins funktioniert, könnt ihr das auf jedem xServer machen, egal wie viel RAM er hat.


    "Ich lass das einfach meinen Dev machen":

    Es ist sehr gefährlich, jemandem OP-Rechte zu geben. Viele Server werden von Leuten gegriefed, die sich entweder als Dev betiteln oder sogar wirklich entsprechende Fähigkeiten haben.

    Das bedeutet natürlich nicht, dass jeder Dev böse ist oder dass man alles alleine machen muss.

    Trotzdem ist es hilfreich, dieses Wissen zu besitzen, denn damit und etwas Redstone-Wissen kann man:

    - Schaltungen von anderen Leuten mit den erklärten Commands verstehen

    - Selbst diese Schaltungen bauen (Das macht einen noch nicht zum Dev, da braucht man noch Plugin-Kenntnisse und für außerhalb von xServers auch Programmierkenntnisse)


    Ich kann nicht auf alles hier eingehen. Das Wissen, was hier vermittelt wird, sollte in Kombination mit Redstone-Wissen benutzt werden.


    Um Geld speichern zu können, brauchen wir ein Scoreboard objective.

    /scoreboard objectives add %1 dummy <Anzeigename>

    %1: Hier müsst ihr den Namen des Objectives angeben. In diesem Tutorial müsst ihr den Namen, den ihr ausgesucht habt, anstelle von %1 benutzen. Der Name sollte leicht zu merken sein und einfach zu schreiben, denn ihr werdet ihn in quasi jedem Command brauchen !!!

    <Anzeigename>: Hier könnt ihr noch einen Anzeigenamen einrichten. Das ist völlig optional.


    Aber wie zeige ich das Geld an? Es gibt viele Möglichkeiten:

    - Eine Sidebar, die für jeden Spieler das Geld anzeigt: /scoreboard objectives setdisplay sidebar %1

    - Eine Anzeige neben dem Spielernamen in der TAB-Liste: /scoreboard objectives setdisplay list %1

    .... und weitere, auf die ich eingehen werden wenn andere Grundlagen geklärt sind.


    Mit welchem Command kann ich denn einem Spieler Geld geben?

    Coins neu setzen: /scoreboard players set @p %1 Anzahl

    Coins hinzufügen: /scoreboard players add @p %1 Anzahl

    Coins hinzufügen: /scoreboard players remove @p %1 Anzahl

    Coins zurücksetzen: /scoreboard players reset @p %1

    (Anzahl ist die Anzahl an Coins, die gesetzt/hinzugefügt/entfernt werden soll)


    Und da kommt auch schon das 1. Beispiel: Lever clicker

    In dem linken Commandblock steht: /scoreboard players add @p %1 1

    Bei jedem Mal, wenn der Hebel nach unten geht, erhält der nächste Spieler 1 Coin.



    Und wie kann jetzt ein Commandblock die Coins auslesen?

    Grundsätzlich gibt es verschiedene Befehle, die dafür sorgen, dass ein Commandblock von einem Comparator (Wiki-Eintrag) ausgelesen werden kann.

    Mit dem /testfor-Command können wir überprüfen, ob ein Spieler eine bestimmte Menge Coins hat.

    /testfor @p[score_%1_min=10] Dieser Befehl überprüft, ob der nächste Spieler (@p) mindestends 1 Coin hat.

    Ein Comparator gibt nur dann ein Signal aus, wenn mindestends 1 Spieler gefunden wurde.

    Mit anderen "Selectors" können wir diese Suche verfeinern:

    /testfor @p[score_%1_min=10,r=5,score_%1=15] überprüft, ob der nächste Spieler maximal 5 Blöcke vom Commandblock entfernt ist und mindestends 10 und maximal 15 Coins hat.


    Wichtig ist, dass der Commandblock sein Redstone-Signal nur ändert, wenn er selbst ein Signal bekommt!

    Er setzt sich also nicht von alleine zurück! Daher muss er an einer Redstone-Clock (Wiki-Eintrag) hängen.


    So, kommen wir zu einem kleinen Praxisbeispiel: Eine Schaltung, die für reiche Spieler das Licht an macht.

    Wir brauchen 1 Tür, 1 Commandblock, etwas Redstone-Zeug und einen Knopf.

    Gelbe Schaltung: Wir benutzen einen Komparator-Taktgeber, Variante 2 im Wiki-Eintrag.

    Magenta Schaltung: In dem Commandblock steht: "/testfor @p[score_coins_min=100]"

    Der Output wird ausgelesen und gibt ein Signal an die grüne Schaltung:

    Grüne Schaltung: Macht das Licht an



    So, jetzt aber noch eine kleine Einführung in schöne Nachrichten.

    Wie sende ich dem Spieler eine Nachricht wie "CoinSystem ➳ Deine Coins: <Anzahl>"?

    Dafür brauchen wir den /tellraw-Befehl.

    Wenn man JSON gelernt hat, dann kann man diesen Befehl auch per Hand benutzen. Ich empfehle aber einen Generator, weil es schneller geht.

    Mein Lieblingsgenerator ist hierbei minecraftjson.com

    In JSON sind alle Nachrichten aufgeteilt. Wenn man also einen Teil des Satzes rot machen will, muss man dafür einen neuen Teil einfügen.

    Um die Coins eines Spielers auszulesen, braucht man bei "New Text" ein "Scoreboard Objective". Der Spieler ist dann @p, und das Objective %1.

    Wenn ihr eine vorgefertigte Nachricht ausprobieren wollt, dann clickt auf den großen Button "IMPORT" unterhalb des Commands, und fügt das hier ein:

    Wenn ihr den Command dann ingame in einen Commandblock einfügt und ausführt, seht ihr eure Coins.



    In diesem Tutorial habe ich nur die Grundzüge angeschnitten. Mit etwas Redstone-Wissen könnt ihr damit quasi alles machen:

    - Einen Shop

    - Ein Rangsystem

    ... und vieles, vieles mehr.

    Globale (d.h. xServer-Übergreifende, aber nicht Netzwerkweite) Werbenachrichten, die gekauft werden können, um den eigenen xServer zu bewerben.

    Beim Kauf einer Werbung würde man dann vorher entscheiden, in welchen Intervallen (d.h. täglich oder stündlich) und wie häufig (z.B. 5 Mal) die Werbung angezeigt wird.

    Pro Nachricht würde ich dann einen Preis von z.B. 100 Coins bezahlen.

    Dadurch würde man xServern, die wirklich etwas zu bieten haben (und nicht nur OMG, ich hab MineResetLite, erstma xS aufmachen und Minen erstellen bzw. NOCH EIN SKYBLOCK SERVER der wie jeder andere ist sind), eine faire Chance geben, mehr Spieler zu finden.


    Ein weiterer, passender Vorschlag wäre auch, dass es Teammitglieder gibt, welche einmal pro Woche einen xS zum "xServer der Woche" küren, dieser würde dann in der Serverliste über allen anderen in einer eigenen Reihe angezeigt werden.


    Auch so könnte man besonders gute xServer belohnen.

    Folgende Vorschläge ...

    - erfordern eine (vergleichsweise) kleine Menge an Arbeit

    - sind Quality-of-Life-Features

    - machen den Emerald-Rang "besser" gilt nicht für (4)


    (1) Aus "premium.xevento.net" sollte "sponsor.xevento.net" werden.

    Ich weiis nicht, wie ihr das seht, aber ich finde die "Premium-Lobby" sollte für alle Leute verfügbar sein, die den Server mit Spenden unterstützen - also auch die Emeralds!

    Und da die Premiumlobby fast nur Quality-of-Life ist und kaum eigene Features hat (außer dass man evtl. mehr Teammitglieder sieht...) und auch die "Premium-Betas" inzwischen für Emeralds verfügbar sind, sehe ich dort kein Problem.


    (2) Emeralds sollten ebenfalls in der xServer-Lobby schreiben dürfen. Ursprünglich hat man die Restriction ja eingeführt, um zu verhindern, dass der Chat mit Werbung vollgespammt wird und hat ihn deswegen nur für "Spender" (Damals nur Premium) zugelassen. Diese Regelung halte ich aber angesichts der Tatsache, dass es inzwischen auch den Emerald-Rang gibt, für veraltet.

    Außerdem könnte man ja nach wie vor einrichten, dass nur Premis und höher in Farbe schreiben können.

    Dieser Vorschlag wurde schon vorher angesprochen, aber ich finde, er sollte nochmal mit neuen Argumenten in Betracht gezogen werden.


    (3) Eine tägliche Belohnung und evtl. eine bessere für Emeralds und höher

    Einfach dass man täglich Coins bekommt und eine Streak aufbauen kann. Es müssen ja nicht mal viele sein, vlt. 5 an Tag 1 und dann 10 nach einer Woche oder so.

    Damit würdet ihr die aktiven Xevento-Spieler bei euch halten und belohnen! Letztenendes sind es ja zumindest auf xServers genau diese Spieler, die andere xServer mit viel Erfahrung auf Xevento weiterbringen und damit dem Netzwerk insgesamt einen besseren Ruf bescheren! Hier will ich noch einmal anmerken, dass es natürlich eure Entscheidung ist, ob ihr das Coin-Erhalten weiterhin auf eure Minigames fokussieren wollt oder ob euch erfahrene Spieler wichtiger sind als alte Prinzipien.


    (4) Coins auch im Arcade-Modus, sobald er released

    Es würde nur Sinn machen, weil die Arcade letztenendes auch "nur" eine Sammlung von Minigames ist und sie daher zu Bedwars und Blockrun als einzelne Minigames passt.

    Außerdem würde das für höhere Spielerzahlen bei der Arcade sorgen.

    Eine Sache ist mir noch eingefallen: Wie jedes Servernetzwerk wollt ihr ja auch vor allem aktive Spieler.

    Daher folgender Vorschlag: eine tägliche Belohnung! (mit Coins!)


    Damit schlagt ihr 2 Fliegen mit einer Klappe.

    Weib vielen Dank! Ich freue mich schon auf die zukünftigen Updates.

    Außerdem hätte ich auch nicht erwartet, dass alle Forderungen durchgehen. Es waren ja echt viele, und da finde ich es auch total okay, wenn ihr nicht alle umsetzen wollt / könnt.


    DANKE!

    wenn man jetzt wie du sagtest, für Online Zeit auf Skyblock Coins bekommen würde, so würden wohl wahrscheinlich Bedwars und Blockrun noch weniger gespielt werden als sie jetzt schon gespielt werden.

    Ich stimme dir da zu, aber bitte ziehe auch in Betracht, dass Skyblock-Spieler aktuell gar keine Coins mit dem Spielmodus verdienen können.

    Es macht einfach keinen Sinn, nur bei manchen Spielmodi (die mangels Spieler quasi unspielbar sind) Coins zu vergeben.

    Noch ein paar Dinge die ich loswerden will:

    Coins für die Spielzeit finde ich nicht so gut, da man sonst AFK auf dem Server sein könnte und man Coins bekommt!

    Die Idee mit den Coins für Spielzeit sollte natürlich nur für die Zeit gelten, während der man tatsächlich aktiv ist.

    Ich dachte da eher an die Zeit auf z.B. Skyblock oder so, denn Skyblock gibt aktuell (nach meinem Kenntnissstand) gar keine Coins.

    Coins sind ein Ersatz für echt Geld auf unseren Server Netzwerk

    Ich kann verstehen, dass Xevento.net auch Geld verdienen möchte, schließlich steckt ja auch jede Menge Arbeit in dem Serversystem und auch die laufenden Kosten sind mit Sicherheit nicht klein. Entsprechend macht es Sinn, die Coins nicht einfach "zu verschenken". Es wäre einfach nur schön, gäbe es auch Möglichkeiten ohne PvP-Skill an Coins zu kommen.


    Danke für eure Antworten bis jetzt!

    Hoffentlich wird das eine oder andere demnächst umgesetzt!

    Grundsätzlich habe ich nichts gegen die Idee, dass nur Spieler, die auch andere Spielmodi mögen, ihren eigenen Server erstellen können.

    Mit der aktuellen Umsetzung bin ich aber aus verschiedenen Gründen unzufrieden:


    1) Coins erhalten ist enorm schwer. Ich habe äußerst wenig PvP-Skills, kann nicht Fastbridgen etc. -> ich habe keine Chance, auch nur einen Kill gegen "normale" Gegner zu schaffen.

    Ich gebe offen zu, dass ich mich bereits an sog. "Coin-Farmen" beteiligt habe, bei denen ein Spieler die Runde instant gewonnen hat. Ich habe davon aber nie profitiert, also kann es kein Statsboosting sein (eher Stats....verschlechtern? xD)

    Das ist aber verboten, und nachdem ich das erfahren habe, habe ich es auch nicht mehr gemacht.

    Verbesserungsvorschläge:

    (1) Coins durch Spielzeit. Einfach nur durch das online-sein könnte man ja coins bekommen.

    (2) Auch Coins für die Verlierer. Mit Absicht zu verlieren sollte sich dann aber nicht lohnen, es könnte ja z.B. 1 Coin pro 100Sekunden Zeit der Runde sein. Nichts zu krasses.


    2) Mein xServer schmiert immer wieder aus unbekannten Gründen ab. Folgendes Szenario: Ich und 2 andere Spieler sind online. Beide andere Spieler leaven, und direkt danach fährt der Server runter. OBWOHL ICH NICHT AFK WAR!!!
    Das ist total unnötig und kostet den "normalen Spieler" einfach nur Coins. Was auch immer das für ein Bug ist: entfernt ihn bitte!

    3) xServer sollten nicht einfach von anderen Spielern auf meine Coins gestartet werden können! Es ist mir früher schon mehrmals passiert, dass ein anderer Spieler einfach meinen xS gestartet hat und mir damit einfach 20 Coins genommen hat.

    Verbesserungsvorschläge:

    (1) xServer können nur vom Owner (und evtl. von ihm ausgewählte Spieler) gestartet werden und/oder

    (2) Derjenige, der den xS startet, muss bezahlen (wenn er kein Premium ist)


    4) ein Rework von dem Template-System wäre cool, bei dem man individuell RAM, Slots etc. beim erstellen setzen kann und dann entsprechend der ausgewählten Werte bezahlen muss. Das evtl. mit Kosten pro 15min verbunden wäre äußerst nice. Es würde bedeuten, dass beim Einrichten/bei der Wartung einfach die Slots runtergestellt werden könnten, um Coins zu sparen, aber wenn der xS einen Peak an Spielern hat, der Owner einfach kurzfristig die Slot-Zahl erhöhen könnte. Ein solches "flexibles Serversystem" wäre zwar vermutlich jede Menge Programmierarbeit, aber es könnte auch (2) und (3) beheben.

    Das war dann alles, und ich freue mich von Euch zu hören.