Welche API soll ich verwenden?

  • Ich habe noch wenig Erfahrung mit der Bungeecord API.

    Kann mir jemand sagen, ob ich die Bukkit oder die Bungeecord API verwenden soll, wenn ich ein Lobbysystem für mein Bungeecord Netzwerk programmieren möchte. In der Bungeecord API sind manche Methoden wie zum Beispiel player.getLocaton() nicht verfügbar.

    Kann mir jemand helfen?:)

  • Abend,


    ich wüsste nicht wieso die Bungee-API für ein Lobbysystem sinn machen sollte?

    Es würde sinn machen wenn du ein System programmierst welche die Spieler auf mehrere Lobbys verteilt, aber als ein klassisches Lobbysystem mit Items etc würde ich dann doch eher zur Bukkit/Spigot API zurückgreifen ;)


    LG

  • Hmm, verstehe ehrlich gerade deine Aussage nicht....


    Nein die BungeeAPI versteht natürlich nur Spanisch wenn du ihr was von einer andere API verfütterst.

    Aber die unterserver der Proxy verstehen es, und auf dem Unterserver, welcher deiner Wahl nach die Lobby sein soll, darauf kann man ein Lobbysystem programmieren.


    Vielleicht verstehen wir uns falsch. Ich verstehe unter einem Lobbysystem ein System welche deine Lobby managed.

    Wie gesagt, auf der BungeeAPI macht es nur Sinn wenn du mehrere Lobbys so verwalten willst das deine Spieler z.B auf 3 Lobbys ausgeteilt werden.

    Ich wüsste spontan auch nicht mal wie du über die Proxy einem Spieler Items setzen willst. Aber das könnte über den MessagingChannel gehen...möglicherweise.


    LG

  • Eigentlich habe ich vor, die Spieler auf 3 bzw. mehr Lobbys aufzuteilen.

    Ich habe auch mal überlegt, währe es sinnvoll das Itemsystem auf jedem Lobbyserver zu speichern und den Spielerverteiler auf dem Proxy zu speichern.

  • sinnvoll das Itemsystem auf jedem Lobbyserver zu speichern

    es wäre nicht nur sinnvoll, es ist sogar nötig. Du kannst mit der BungeeCord-API, wie du schon selber gemerkt hast, keine Interaktionen mit dem Spieler vornehmen, die das eigentliche Spiel betreffen. Du kannst nicht in sein Inventar gucken, du kannst keine Locations abfragen oder Ähnliches. Das alles geht nur mit der Bukkit-API, bzw. mittlerweile ja glaube ich Spigot.


    BungeeCord ist ja auch keine Serversoftware, die alleine laufen kann. Das liegt allerdings in der Funktionsweise von BungeeCord: BungeeCord ist ein sogenannter Proxy. Ein Proxy soll den Zweck erfüllen, als eine Schnittstelle zwischen dem Spieler und dem Server zu dienen. Sehr häufig auch mehrere Server (wie bei dir). Hier ist entscheidend, dass BungeeCord nicht ins Spielgeschehen selber eingreift, da es als Schnittstelle/Vermittler keine Implementierung des Spiels selber hat. Es kann lediglich Pakete annehmen und diese weiterleiten. Verarbeitung solcher Pakete passiert quasi gar nicht, bzw. wenn überhaupt in sehr geringem Maße.


    Wenn du also dem Spieler Items geben möchtest, bestimmte Aktionen mit dem Spieler vornehmen willst oder Ähnliches, so geht das nur mit der Bukkit-API.

  • Eigentlich habe ich vor, die Spieler auf 3 bzw. mehr Lobbys aufzuteilen.

    Ich habe auch mal überlegt, währe es sinnvoll das Itemsystem auf jedem Lobbyserver zu speichern und den Spielerverteiler auf dem Proxy zu speichern.

    In dem Sinne ist es natürlich wieder logisch die Bungee-API zu verwenden. Würdest du in den Fall die Spigot API nehmen(weiß nicht ob die BukkitAPI das unterstützt) dann könntest du den Spieler mit 1. Lobby verbinden lassen und über den MessagingChannel ihn auf eine andere sofort weiterleiten.


    Das währe jedoch A...unperformant und B...lästig für den Spieler.



    Bleib bei deinem Vorhaben lieber bei der BungeeAPI.


    LG