BerryGames
Open Source

BerryGames

Een Minecraft servernetwerk met tot 500 slots, gebouwd op een familie van eigen plugins vernoemd naar bessen, met zeven minigames, een voortgangssysteem en een Symfony-site verbonden met een XenForo forum.

Startdatum

September 2018

Status

Gearchiveerd

Team

4 leden

Over het project

BerryGames was een Minecraft minigame netwerk, en het oudste ding in deze portfolio: de eerste commit kwam op september 2018, op een minigame plugin genaamd WitchRush. De architectuur was verdeeld over een familie van plugins, elk vernoemd naar een bes. GooseBerry was de BungeeCord proxy die spelers tussen servers leidde, CloudBerry de Spigot API die door elk spel werd gedeeld, SkyBerry de serverkernel, en StrawBerry een REST API die spelersdata aan de website blootstelde. Een Hub hield de lobby in stand, met zijn eigen voortgang die munten, credits, niveau en ervaring toonde. Zeven minigames waren actief: SkyWars, BedWars met acht teams en diamantgeneratoren, GroundFall en zijn TNT-scores, Catfight, Pvpwall, Pitchout, en WitchRush. Spelers verdienden bosbessen en credits, en de eindschermen van de spellen zetten samen wat elke ronde hen had gegeven. Medewerkers hadden tools binnen het spel in plaats van een apart back office: een vriendschapsysteem en een serverbeheermenu waarmee een server tussen Publiek, Beta VIP, en Onderhoud kon worden gewisseld zonder Minecraft te verlaten. De publieke gezicht was een Symfony-site verbonden met een XenForo forum, met vermelding van live spelersaantallen per spel naast de Discord-feed. Een React-herontwerp werd begin 2021 gestart en nooit afgemaakt. De negen repositories zijn gearchiveerd tussen 2020 en 2022.

Impact en metrics

500

Slots

Capaciteit aangekondigd in de serverlijst

7

Minigames

Van SkyWars tot WitchRush

9

Repositories

Plugins, API, site, en herontwerpen

Belangrijkste functies

Zeven minigames

SkyWars, BedWars, GroundFall, Catfight, Pvpwall, Pitchout, en WitchRush, elk met zijn eigen regels en kaarten

Servernetwerk

Een BungeeCord proxy die spelers over Spigot-servers leidt, met een gedeelde API en een serverkern eronder

Voortgang en valuta

Munten, credits, bosbessen, niveaus, en ervaring die tussen spellen worden meegedragen en op het lobby scoreboard worden getoond

In-game personeel tools

Een beheermenu dat een server wisselt tussen publiek, beta VIP, en onderhoud zonder het spel te verlaten

Gemeenschapswebsite

Een Symfony-site verbonden met een XenForo forum, met live spelersaantallen per spel en de Discord-feed

Vriendschapsysteem

Spelers toevoegen en volgen over het netwerk, vanuit een in-game interactiemenu

Gebruikte technologieën

Java

Elk plugin op het netwerk

Spigot

Spelservers, de gedeelde API, en de serverkern

BungeeCord

Proxy die spelers tussen servers leidt

Symfony

Gemeenschapswebsite en zijn REST-consumptie

XenForo

Forum en accounts achter de site

React

Onvoltooid site-herontwerp uit 2021

Galerij

Lobby, met het voortgang scoreboard

Lobby, met het voortgang scoreboard

SkyWars, met kaartstemmen en kits

SkyWars, met kaartstemmen en kits

BedWars, acht teams en diamantgeneratoren

BedWars, acht teams en diamantgeneratoren

Einde van een GroundFall ronde en zijn beloningen

Einde van een GroundFall ronde en zijn beloningen

Vriendschapsmenu en serverbeheer, beide binnen het spel

Vriendschapsmenu en serverbeheer, beide binnen het spel

Gemeenschapswebsite, met live spelersaantallen per spel

Gemeenschapswebsite, met live spelersaantallen per spel

Het 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

Ontmoette uitdagingen

  • Spelers over verschillende servers leiden terwijl het netwerk aanvoelt als één plek

  • Valuta, niveaus en voortgang tussen spellen die op aparte servers draaien meedragen

  • Een aparte game loop, scoreboard, en beloningstabel schrijven voor elk van de zeven spellen

  • Personeel de tools geven om het netwerk vanuit Minecraft te runnen in plaats van een back office

  • Een Symfony-site verbinden met een XenForo forum zodat accounts en berichten op één plek blijven

Belangrijkste lessen

  • Het merendeel van het werk ging naar de proxy, de API, en de core voordat een enkel spel kon worden gelanceerd

  • Spelersaantallen en de Discord waren belangrijker voor het netwerk dan welke individuele functie dan ook

  • Bouwers, moderators en gemeenschapsmedewerkers hebben geen commits achtergelaten, waardoor de repositories maar een fractie van de betrokken mensen krediet geven

  • Het runnen van een netwerk leerde serverarchitectuur, moderatie, en releasebeheer eerder dan enig clientproject ooit had kunnen bieden

Toekomstperspectieven

Alle negen repositories zijn gearchiveerd, en het netwerk is offline

Geïnteresseerd in dit project?

Ontdek hoe we je kunnen helpen om een vergelijkbaar project te creëren.