BerryGames
Open Source

BerryGames

Una rete di server Minecraft che può ospitare fino a 500 giocatori, costruita su una famiglia di plugin interni chiamata come le bacche, con sette minigiochi, un sistema di progressione e un sito Symfony collegato a un forum XenForo.

Data di inizio

September 2018

Status

Archiviato

Team

4 membri

Informazioni sul progetto

BerryGames era una rete di minigiochi Minecraft ed è la cosa più antica di questo portfolio: il primo commit risale a settembre 2018, su un plugin di minigioco chiamato WitchRush. L'architettura era suddivisa in una famiglia di plugin, ciascuno chiamato come una bacca. GooseBerry era il proxy BungeeCord che instradava i giocatori tra i server, CloudBerry l'API Spigot condivisa da ogni gioco, SkyBerry il core del server, e StrawBerry un'API REST che esponeva i dati dei giocatori al sito web. Un Hub ospitava il lobby, con la sua progressione che mostrava monete, crediti, livello e esperienza. Sette minigiochi giravano sopra: SkyWars, BedWars con otto squadre e generatori di diamanti, GroundFall e il suo punteggio TNT, Catfight, Pvpwall, Pitchout e WitchRush. I giocatori guadagnavano mirtilli e crediti, e gli schermi di fine partita riassumevano ciò che ogni round aveva dato loro. Il personale aveva strumenti all'interno del gioco piuttosto che un ufficio separato: un sistema di amici e un menu di gestione del server che passava un server tra Pubblico, Beta VIP e Manutenzione senza lasciare Minecraft. Il volto pubblico era un sito Symfony collegato a un forum XenForo, che mostrava il numero di giocatori in tempo reale per ogni gioco accanto al feed Discord. Un redesign in React è stato avviato all'inizio del 2021 e non è mai stato completato. I nove repository sono stati archiviati tra il 2020 e il 2022.

Impatto e metriche

500

Slot

Capacità annunciata nell'elenco dei server

7

Minigiochi

Da SkyWars a WitchRush

9

Repositories

Plugin, API, sito e redesigns

Caratteristiche principali

Sette minigiochi

SkyWars, BedWars, GroundFall, Catfight, Pvpwall, Pitchout e WitchRush, ciascuno con le proprie regole e mappe

Rete di server

Un proxy BungeeCord che instrada i giocatori tra i server Spigot, con un'API condivisa e un core del server sottostante

Progressione e valute

Monete, crediti, mirtilli, livelli ed esperienza portati tra i giochi e mostrati sul punteggio del lobby

Strumenti per il personale in gioco

Un menu di gestione che passa un server tra pubblico, beta VIP e manutenzione senza lasciare il gioco

Sito comunitario

Un sito Symfony collegato a un forum XenForo, che mostra il numero di giocatori in tempo reale per ogni gioco e il feed Discord

Sistema di amici

Aggiungere e seguire i giocatori nella rete, da un menu di interazione in gioco

Tecnologie utilizzate

Java

Ogni plugin sulla rete

Spigot

Server di gioco, l'API condivisa e il core del server

BungeeCord

Proxy che instrada i giocatori tra i server

Symfony

Sito comunitario e il suo consumo REST

XenForo

Forum e account dietro il sito

React

Redesign del sito non completato dal 2021

Galleria

Lobby, con il punteggio di progressione

Lobby, con il punteggio di progressione

SkyWars, con voto della mappa e kit

SkyWars, con voto della mappa e kit

BedWars, otto squadre e generatori di diamanti

BedWars, otto squadre e generatori di diamanti

Fine di un round di GroundFall e le sue ricompense

Fine di un round di GroundFall e le sue ricompense

Menu amici e gestione server, entrambi all'interno del gioco

Menu amici e gestione server, entrambi all'interno del gioco

Sito comunitario, con il numero di giocatori in tempo reale per ogni gioco

Sito comunitario, con il numero di giocatori in tempo reale per ogni gioco

Il 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

Sfide incontrate

  • Instradare i giocatori tra diversi server mantenendo la rete come un posto unico

  • Portare valute, livelli e progressi tra i giochi che girano su server separati

  • Scrivere un ciclo di gioco distinto, un punteggio e una tabella di ricompense per ciascuno dei sette giochi

  • Fornire allo staff gli strumenti per gestire la rete dall'interno di Minecraft piuttosto che da un ufficio

  • Collegare un sito Symfony a un forum XenForo in modo che account e post rimanessero in un unico posto

Apprendimenti chiave

  • La maggior parte del lavoro è andata nel proxy, nell'API e nel core prima che un singolo gioco potesse essere rilasciato

  • Il numero di giocatori e il Discord contavano di più per la rete rispetto a qualsiasi caratteristica individuale

  • Costruttori, moderatori e staff comunitario non hanno lasciato commit, quindi i repository attribuiscono i crediti a una frazione delle persone coinvolte

  • Gestire una rete ha insegnato architettura del server, moderazione e gestione dei rilasci prima di qualsiasi progetto client

Prospettive future

Tutti e nove i repository sono archiviati e la rete è offline

Interessato a questo progetto?

Scopri come possiamo aiutarti a creare un progetto simile.