BerryGames
Open Source

BerryGames

Ein Minecraft-Servernetzwerk mit bis zu 500 Slots, gebaut auf einer Familie von hauseigenen Plugins, die nach Beeren benannt sind, mit sieben Minispielen, einem Progressionssystem und einer Symfony-Seite, die an ein XenForo-Forum angeschlossen ist.

Startdatum

September 2018

Status

Archiviert

Team

4 Mitglieder

Über das Projekt

BerryGames war ein Minecraft-Minigame-Netzwerk und das älteste in diesem Portfolio: der erste Commit wurde im September 2018 bei einem Minigame-Plugin namens WitchRush getätigt. Die Architektur war auf eine Familie von Plugins aufgeteilt, die jeweils nach einer Beere benannt waren. GooseBerry war der BungeeCord-Proxy, der Spieler zwischen den Servern leitete, CloudBerry die Spigot-API, die von jedem Spiel genutzt wurde, SkyBerry der Serverkern und StrawBerry eine REST-API, die Spieldaten auf der Website bereitstellte. Ein Hub hielt die Lobby mit seiner eigenen Progression, die Coins, Credits, Level und Erfahrung anzeigte. Sieben Minispiele liefen oben drauf: SkyWars, BedWars mit acht Teams und Diamantgeneratoren, GroundFall und seine TNT-Punkte, Catfight, Pvpwall, Pitchout und WitchRush. Spieler verdienten Heidelbeeren und Credits, und die Endbildschirme fassten zusammen, was jede Runde ihnen gebracht hatte. Das Personal hatte Werkzeuge im Spiel statt ein separates Backoffice: ein Freundesystem und ein Serververwaltungsmenü, das es ermöglichte, einen Server zwischen Öffentlich, Beta VIP und Wartung zu wechseln, ohne Minecraft zu verlassen. Das öffentliche Gesicht war eine Symfony-Seite, die an ein XenForo-Forum angeschlossen war und die aktuellen Spielerzahlen pro Spiel neben dem Discord-Feed auflistete. Ein Redesign mit React wurde Anfang 2021 gestartet und nie abgeschlossen. Die neun Repositories wurden zwischen 2020 und 2022 archiviert.

Einfluss und Kennzahlen

500

Slots

Kapazität, die in der Serverliste angezeigt wird.

7

Minispiele

Von SkyWars bis WitchRush.

9

Repositories

Plugins, API, Seite und Redesigns.

Wichtige Funktionen

Sieben Minispiele

SkyWars, BedWars, GroundFall, Catfight, Pvpwall, Pitchout und WitchRush, jedes mit eigenen Regeln und Karten.

Servernetzwerk

Ein BungeeCord-Proxy, der Spieler zwischen Spigot-Servern leitet, mit einer gemeinsamen API und einem darunterliegenden Serverkern.

Fortschritt und Währungen

Coins, Credits, Heidelbeeren, Level und Erfahrung, die zwischen den Spielen übertragen und auf der Lobby-Tafel angezeigt werden.

In-Game-Tools für das Personal

Ein Verwaltungsmenü, das einen Server zwischen öffentlich, Beta VIP und Wartung wechselt, ohne das Spiel zu verlassen.

Community-Seite

Eine Symfony-Seite, die an ein XenForo-Forum angeschlossen ist, zeigt aktuelle Spielerzahlen pro Spiel und den Discord-Feed.

Freundesystem

Spieler im Netzwerk hinzufügen und folgen, über ein Interaktionsmenü im Spiel.

Eingesetzte Technologien

Java

Jedes Plugin im Netzwerk.

Spigot

Spieleserver, die gemeinsame API und der Serverkern.

BungeeCord

Proxy, der Spieler zwischen Servern leitet.

Symfony

Community-Seite und ihre REST-Nutzung.

XenForo

Forum und Konten hinter der Seite.

React

Unvollendetes Redesign der Seite aus 2021.

Galerie

Lobby mit dem Fortschrittsscoring.

Lobby mit dem Fortschrittsscoring.

SkyWars mit Kartenabstimmung und Kits.

SkyWars mit Kartenabstimmung und Kits.

BedWars mit acht Teams und Diamantgeneratoren.

BedWars mit acht Teams und Diamantgeneratoren.

Ende einer GroundFall-Runde und ihre Belohnungen.

Ende einer GroundFall-Runde und ihre Belohnungen.

Freundesmenü und Serververwaltung, alles im Spiel.

Freundesmenü und Serververwaltung, alles im Spiel.

Community-Seite mit aktuellen Spielerzahlen pro Spiel.

Community-Seite mit aktuellen Spielerzahlen pro Spiel.

Das Team

Antoine Kingue

Antoine Kingue

Web Developer

Jérémy Baudrin

Jérémy Baudrin

Backend Developer

Arthur Danjou

Gameplay Developer

Lucas Bodin

Lucas Bodin

Designer

Herausforderungen

  • Spieler über mehrere Server leiten und dabei das Netzwerk wie einen Ort wirken lassen.

  • Währungen, Levels und Fortschritte zwischen Spielen, die auf separaten Servern laufen, übertragen.

  • Eine eigene Spielschleife, Punktetafel und Belohnungstabelle für jedes der sieben Spiele schreiben.

  • Dem Personal die Werkzeuge geben, das Netzwerk von innerhalb von Minecraft zu betreiben und nicht aus einem Backoffice.

  • Eine Symfony-Seite in ein XenForo-Forum integrieren, damit Konten und Beiträge an einem Ort bleiben.

Wichtige Erkenntnisse

  • Der Großteil der Arbeit ging in den Proxy, die API und den Kern, bevor ein einziges Spiel veröffentlicht werden konnte.

  • Spielerzahlen und der Discord waren für das Netzwerk wichtiger als jede einzelne Funktion.

  • Bauarbeiter, Moderatoren und Community-Mitarbeiter hinterließen keine Commits, sodass die Repositories nur einen Bruchteil der beteiligten Personen anerkennen.

  • Das Betreiben eines Netzwerks brachte Serverarchitektur, Moderation und Release-Management früher bei, als es ein Client-Projekt hätte tun können.

Zukünftige Perspektiven

Alle neun Repositories sind archiviert, und das Netzwerk ist offline.

Interessiert an diesem Projekt?

Erfahre, wie wir dir helfen können, ein ähnliches Projekt zu erstellen.