UHC Serveur ?

skyfyx

Bucheron
28 Octobre 2018
8
1
14
35
Bonjour, bonsoir,

On se lance dans la programmation de serveur avec deux ou trois amis d'enfance. Nous voulons installer le plugins UHC jusque ici rien d’incompréhensible, seulement une question nous vient quand on s'attaque au configuration.

Nous voulons intégrer plusieurs mode de jeu :
- 2v2
- 4v4
- chacun pour soit

La grande question c'est comment on met tout ça sur le même serveur ? ou alors faut t'il un serveur par mode de jeu ? Si il faut chaque mode sur un serveur différents, combien de Ram doit on allouer ? car si un serveur a 4 fois les même mode ça fait quand même 12 serveurs...

Si quelqu'un peut nous éclairer sur le sujet car on sèche , même après plusieurs recherche.

Merci d'avance et si vous avez des questions pour plus de précision, n'hésitez pas
 
Dernière édition:
Bonjour,

Si j'ai bien compris, ce qu'il te faut, c'est plusieurs serveur sur une même machine tous relié par bungeecord.

J'ai déjà de l'expérience pour la gestion de serveur donc si je ne réponds pas à ta question, essaie de développer un peu plus ton problème.
 
  • J'aime
Reactions: skyfyx
justement je sais pas en faite , est il possible de faire tourner plusieurs mode UHC Run sur un même serveur ? Je vais développer un peu.
On compte prendre une machine dédié ( ayant de l’expérience en programmation ça je vais gérer ), y installer ( deja fait ) bungeecord et avoir dessus plusieurs serveur :
- Hub ( deja créer et relié a bungee)
- UHC
- Minigames
- Skyblock ( deja créer et relié a bungee)

Ce qui fait au final 4 serveurs, dont seulement 3 un peu gourmand en ressources, car le hub 512mo de ram je pense suffise comme personne sera dessus. ( du moins la plupart du temps ).
D'ou la question : est ce que UHC ou UHC run prennent plusieurs serveur si on veut par exemple créer plusieurs instance de jeu ? ( exemple 4 instance 2v2, 3 instance 3v3 etc etc )
 
Dernière édition:
Salut,

je vais détailler un peu l'organisation interne d'un proxy Bungeecord de (Mini-)Jeux de taille moyenne/intermédiaire. C'est une organisation qu'utilisent tous les serveurs mini-jeux au-dessus de 500 joueurs (et même en dessous).

Le cœur de l'infrastructure est donc ton serveur BungeeCord. Ensuite, sur ce serveur Bungeecord est connecté un ou plusieurs hubs. En plus de ça, chaque instance de mini-jeux y est connectée. C'est-à-dire que tu as disons un serveur UHC qui sert de modèle et tu le copies autant de fois que nécessaire sur ta machine. Tous les serveurs UHC sont strictement identiques de l'intérieur à l'exception qu'ils ont un port différent (et ils sont tous reliés à Bungeecord). Ensuite, c'est à toi d'avoir les bonnes configurations sur ces serveurs UHC pour qu'ils redémarrent automatiquement et soient complètement autonomes. Et du côté de BungeeCord et des hubs, de proposer uniquement aux joueurs les serveurs en ligne et dont les parties n'ont pas commencé (gestion via Messagings et/ou les Sockets et/ou les PUB/SUB Redis). Voilà comment on pourrait décrire une infrastructure bête mais fonctionnelle.

Si tu pousses ce système un peu plus loin, tu peux faire de la création de serveur à la volée (notamment grâce à Docker) pour avoir uniquement les ressources dont tu as besoin, au moment dont tu en as besoin. Bon là on rentre dans une infrastructure beaucoup plus "haut niveau" à mettre en place mais c'est la version intelligente de celle décrite au-dessus. Là ce n'est plus seulement des compétences en développent mais également des compétences poussées en Linux qu'il te faut. Point positif de cette infrastructure, c'est évidemment sa modularité immédiate. Si en une minute tu as besoin de 20 nouveaux serveur UHC 2vs2, aucun soucis.

Et enfin, pour de très grosse infrastructure (type Hypixel ou bien plus petit) c'est simplement ce que j'ai décrit au-dessus mais dupliqué. Donc plutôt que d'avoir 1 seul proxy Bungeecord, ils en ont 20. Et après, de nouveau une belle couche de plugin et de PUB/SUB Redis pour assurer la communication (combiné avec de l'IP Load-Balancing) et le tour est joué !

Si tu as encore des questions, n'hésite pas.
Mathéo C.
 
  • J'aime
Reactions: skyfyx
Cette réponse est impeccable, c'est exactement ce que je cherchais. Ils doivent avoir de sacrée machine pour faire tourner autant d'instance de serveur. Car à mais t'on qu'on balance 40 instances a 1gb par instance ça revient a 40gb de RAM déjà sans compter le pauvre processeur qui trim derrière. Mais je vais me renseigner sur Docker du coup pour voir à comment mettre en place cette infrastructure qui prendrais si j'ai bien compris les ressources que si le/les clients le demande. ( déformation professionnel à la lecture j'ai vu que j'utilisé client , car client side / server side).

Voila en tout cas merci, me reste plus qu'a savoir combien de ressource je dois allouer en fonction des différentes instances.
Merci :)
 
  • J'aime
Reactions: DiscowZombie