BerryGames
Código Abierto

BerryGames

Una red de servidores de Minecraft que admite hasta 500 jugadores, construida sobre una familia de complementos internos llamados como frutas, con siete minijuegos, un sistema de progresión y un sitio de Symfony conectado a un foro de XenForo.

Fecha de inicio

September 2018

Estado

Archivado

Equipo

4 miembros

Acerca del proyecto

BerryGames fue una red de minijuegos de Minecraft y la cosa más antigua en este portafolio: el primer commit se realizó en septiembre de 2018, en un complemento de minijuego llamado WitchRush. La arquitectura estaba dividida en una familia de complementos, cada uno llamado como una fruta. GooseBerry era el proxy de BungeeCord que redirigía a los jugadores entre servidores, CloudBerry la API de Spigot compartida por cada juego, SkyBerry el núcleo del servidor y StrawBerry una API REST que exponía datos de jugadores al sitio web. Un Hub albergaba el vestíbulo, con su propia progresión mostrando monedas, créditos, nivel y experiencia. Siete minijuegos se ejecutaban encima: SkyWars, BedWars con ocho equipos y generadores de diamantes, GroundFall y su puntuación de TNT, Catfight, Pvpwall, Pitchout y WitchRush. Los jugadores ganaban arándanos y créditos, y las pantallas finales de juego resumían lo que cada ronda les había dado. El personal tenía herramientas dentro del juego en lugar de una oficina separada: un sistema de amigos y un menú de gestión del servidor que cambiaba el estado de un servidor entre Público, Beta VIP y Mantenimiento sin salir de Minecraft. La cara pública era un sitio de Symfony conectado a un foro de XenForo, que mostraba el conteo de jugadores en vivo por juego junto al feed de Discord. Un rediseño en React comenzó a principios de 2021 y nunca se terminó. Los nueve repositorios fueron archivados entre 2020 y 2022.

Impacto y métricas

500

Espacios

Capacidad anunciada en la lista de servidores

7

Minijuegos

Desde SkyWars hasta WitchRush

9

Repositorios

Complementos, API, sitio y rediseños

Características clave

Siete minijuegos

SkyWars, BedWars, GroundFall, Catfight, Pvpwall, Pitchout y WitchRush, cada uno con sus propias reglas y mapas

Red de servidores

Un proxy de BungeeCord redirigiendo jugadores a través de servidores Spigot, con una API compartida y un núcleo de servidor debajo

Progresión y monedas

Monedas, créditos, arándanos, niveles y experiencia llevados entre juegos y mostrados en el marcador del vestíbulo

Herramientas para el personal dentro del juego

Un menú de gestión que cambia un servidor entre público, beta VIP y mantenimiento sin salir del juego

Sitio comunitario

Un sitio de Symfony conectado a un foro de XenForo, mostrando conteos de jugadores en vivo por juego y el feed de Discord

Sistema de amigos

Agregar y seguir jugadores a través de la red, desde un menú de interacción dentro del juego

Tecnologías utilizadas

Java

Cada complemento en la red

Spigot

Servidores de juegos, la API compartida y el núcleo del servidor

BungeeCord

Proxy redirigiendo jugadores entre servidores

Symfony

Sitio comunitario y su consumo REST

XenForo

Foro y cuentas detrás del sitio

React

Rediseño del sitio sin terminar de 2021

Galería

Vestíbulo, con el marcador de progresión

Vestíbulo, con el marcador de progresión

SkyWars, con votación de mapas y kits

SkyWars, con votación de mapas y kits

BedWars, ocho equipos y generadores de diamantes

BedWars, ocho equipos y generadores de diamantes

Final de una ronda de GroundFall y sus recompensas

Final de una ronda de GroundFall y sus recompensas

Menú de amigos y gestión del servidor, ambos dentro del juego

Menú de amigos y gestión del servidor, ambos dentro del juego

Sitio comunitario, con conteos de jugadores en vivo por juego

Sitio comunitario, con conteos de jugadores en vivo por juego

El equipo

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

Desafíos encontrados

  • Redirigir jugadores a través de varios servidores mientras se mantiene la red como un solo lugar

  • Transportar monedas, niveles y progreso entre juegos que corren en servidores separados

  • Escribir un bucle de juego distinto, marcador y tabla de recompensas para cada uno de los siete juegos

  • Dar al personal las herramientas para gestionar la red desde dentro de Minecraft en lugar de una oficina

  • Conectar un sitio de Symfony a un foro de XenForo para que cuentas y publicaciones se mantuvieran en un solo lugar

Aprendizajes clave

  • La mayor parte del trabajo se destinó al proxy, la API y el núcleo antes de que se pudiera lanzar un solo juego

  • El conteo de jugadores y Discord importaban más a la red que cualquier característica individual

  • Constructores, moderadores y personal comunitario no dejaron commits, así que los repositorios acreditan solo una fracción de las personas involucradas

  • Gestionar una red enseñó arquitectura de servidores, moderación y gestión de lanzamientos antes que cualquier proyecto de cliente

Perspectivas futuras

Los nueve repositorios están archivados, y la red está fuera de línea.

¿Interesado en este proyecto?

Descubre cómo podemos ayudarte a crear un proyecto similar.