Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/06/2017, à 16:45

Navalex

Créer un serveur de jeu depuis Apache

Bonjour,

Je cherche à trouver comment à partir d'un site web sous apache en php, je peux créer un serveur de jeu. Comme sur les hébergeurs de serveurs de jeux.
Je suis actuellement bien experimenté en PHP et j'ai des bonnes bases en linux et je ne sais pas trop où chercher pour faire ce que je souhaite, du coup si quelqu'un est en mesure de me répondre je suis preneur ! smile

Cordialement, Navalex.

Hors ligne

#2 Le 22/06/2017, à 08:04

J5012

Re : Créer un serveur de jeu depuis Apache

tu dois choisir un moteur graphique voire un moteur de jeu comme unity mais je ne pense pas qu'il soit open...

la plupart des jeux en ligne connus utilisent encore malheureusement flash ...

tu peux programmer en html5 ...
ex : https://play.freeciv.org/

Hors ligne

#3 Le 22/06/2017, à 08:21

abelthorne

Re : Créer un serveur de jeu depuis Apache

Tu cherches à créer un logiciel serveur pour un jeu que tu développes ? dans ce cas, le serveur ne sera généralement pas en PHP/HTML − à moins que le jeu soit lui-même un jeu web en PHP/HTML/JS − , c'est un logiciel qui sera lancé sur un serveur [la machine] pour intercepter les demandes du jeu et y répondre.

Ou bien tu cherches à installer un serveur pour un jeu existant (si oui, lequel) ?

Dernière modification par abelthorne (Le 22/06/2017, à 08:26)

Hors ligne

#4 Le 22/06/2017, à 09:02

Navalex

Re : Créer un serveur de jeu depuis Apache

Bon je me suis mal exprimer dans mon premier message. ^^
Je ne souhaite pas développer un jeu. Par créer un serveur de jeu, j'entends prendre une archive d'un serveur (exemple un serveur minecraft), la dezipper, modifier les fichiers nécessaires pour que le serveur fonctionne, créer un identifiant ftp, le tout pour donner un accès à ce serveur au client.
Mon but serais de créer un herbergeur de serveur, mais diversifiés sur un certain nombre de jeu.

Hors ligne

#5 Le 22/06/2017, à 09:18

abelthorne

Re : Créer un serveur de jeu depuis Apache

Tout ça n'a pas grand chose à voir avec Apache / PHP puisque les serveurs de jeux ne passent pas par le web. Après, il n'y a pas de méthode générale pour installer un serveur de jeu, ça se passe au cas par cas, mais pour le principe général :
- tu installes le serveur [logiciel] sur ton serveur [machine] et tu le lances ;
- il attend les requêtes en provenance d'un jeu sur un port spécifique et y répond ;
- les joueurs peuvent s'y connecter via l'adresse IP de ton serveur [machine] (ou un nom de domaine que tu fais correspondre à l'IP en question) et éventuellement le port.

Généralement, on utilise des machines dédiées sur une bonne connexion internet parce que les serveurs [logiciels] prennent pas mal de ressources, surtout si tu veux en faire tourner pour plusieurs jeux à la fois. Si tu veux faire ça sur ton PC sur ta connexion ADSL, tu vas vite en atteindre les limites (faire tourner un serveur pour y jouer avec deux ou trois potes, ça peut passer ; au-delà c'est mal barré).

Hors ligne

#6 Le 22/06/2017, à 09:20

Navalex

Re : Créer un serveur de jeu depuis Apache

Bien sûr je compte utiliser un serveur dédié, mais le lien avec Apache s'était de créer un serveur lorsque un client le commande depuis notre site.

Hors ligne

#7 Le 22/06/2017, à 09:28

abelthorne

Re : Créer un serveur de jeu depuis Apache

Apache, ça sert à faire tourner un site web, rien à voir avec le serveurs de jeux eux-mêmes. Après, tu peux avoir un site web pour commander quelque chose, présenter une offre (commerciale ou non), etc. mais c'est un service différent, au final il servira à donner les infos de connexion à quelqu'un pour se connecter au logiciel serveur qui tourne de façon complètement indépendante. Pour une offre commerciale, le site web gère juste la transaction financière et ouvre un compte au client.

Techniquement, c'est possible d'aller un peu plus loin sachant que PHP permet d'exécuter des commandes shell, donc on peut automatiser le lancement d'un serveur, la création d'un fichier de config, ce genre de choses. Mais 1) ça ne s'improvise pas, surtout pour des questions de sécurité ; et 2) c'est du cas par cas pour chaque serveur de jeu puisqu'il s'agit de répliquer la config qu'on fait normalement en ligne de commande.

Dernière modification par abelthorne (Le 22/06/2017, à 09:30)

Hors ligne

#8 Le 22/06/2017, à 09:40

Navalex

Re : Créer un serveur de jeu depuis Apache

Oui pardon je ne voulais pas dire Apache, mais plutôt php car j'ai entendu parler qu'on pouvait exécuter des commandes shells dessus.
En fait j'aimerais comprendre comment fonctionne à peut prêt les hébergeurs de serveurs de jeux actuels, car j'avoue que je ne trouve pas beaucoup d'infos sur internet..

Cordialement.

Hors ligne

#9 Le 22/06/2017, à 09:56

abelthorne

Re : Créer un serveur de jeu depuis Apache

Chacun fait sa cuisine interne mais en gros :
1) Tu dois savoir comment faire tourner des serveur de jeux et les configurer.
2) Une fois que tu sais le faire intégralement en ligne de commandes, tu peux automatiser ça en PHP.
3) Une fois que tu peux gérer tes serveurs via un backoffice maison en PHP, tu peux rajouter ta couche de frontoffice pour les proposer à des gens.

Commence par la première étape.

Note que les fournisseurs de serveurs de jeux sont avant tout des fournisseurs de serveurs au sens large, ce qui nécessite tout de même une expertise particulière. Parce que si le but est de vendre autant de serveurs dédiés pour des jeux à x clients, il faut rajouter dans l'équation la capacité à proposer et gérer x serveurs (qu'ils fassent tourner des logiciels pour des jeux ou autre chose, c'est finalement accessoire). Et pour ça, prendre en comptes des "détails" du genre serveurs physiques ou machines virtuelles ?

Il faut bien se rendre compte que ce genre d'activité nécessite une expertise technique en administration de serveurs assez poussée.

Hors ligne

#10 Le 22/06/2017, à 10:14

Navalex

Re : Créer un serveur de jeu depuis Apache

Merci pour votre réponse.
Au niveau des serveurs nous allons faire différents test à chaque fois pour évaluer les ressources que demandent chaque serveur pour optimiser au mieux la répartition.
Après au niveau configuration des serveurs de jeux et physiques, nous n'aurons pas de soucis.
Juste pour le backend, utiliser des commandes Shell ne posera pas de problème de sécurité ?
Serais-ce mieux de mettre en place des api qui ferais la jonction entre le serveur web et le serveur de jeu ?

Cordialement.

Hors ligne

#11 Le 22/06/2017, à 10:29

abelthorne

Re : Créer un serveur de jeu depuis Apache

Je ne suis pas du tout administrateur réseau / système / serveur / whatever, mes connaissances dans le domaine sont essentiellement théoriques, donc savoir s'il vaut mieux développer des APIs spécifiques ou non, je ne peux pas te dire, il faudrait sans doute commencer par voir ce qui est fourni pour chaque serveur de jeu qui t'intéresse, s'il y en a déjà qui sont intégrées ou s'il faut rajouter une couche intermédiaire maison. Là, on aborde de toute façon des cas spécifiques qui dépendent de chaque logiciel serveur.

Pour ce qui est d'utiliser des commandes shell via PHP (voir notamment exec() et shell_exec() mais il y a d'autres fonctions associées), ça pose évidemment des problèmes de sécurité potentiels : à partir du moment où tu peux exécuter des commandes sur un serveur via un utilisateur arbitraire, il vaut mieux s'assurer qu'il n'y a pas de failles exploitables et blinder ça au maximum.

Hors ligne

#12 Le 22/06/2017, à 22:44

J5012

Re : Créer un serveur de jeu depuis Apache

Navalex a écrit :

Merci pour votre réponse.
Au niveau des serveurs nous allons faire différents test à chaque fois pour évaluer les ressources que demandent chaque serveur pour optimiser au mieux la répartition.
Après au niveau configuration des serveurs de jeux et physiques, nous n'aurons pas de soucis.
Juste pour le backend, utiliser des commandes Shell ne posera pas de problème de sécurité ?
Serais-ce mieux de mettre en place des api qui ferais la jonction entre le serveur web et le serveur de jeu ?

Cordialement.

le mieux est de faire des tests avec des jeux jouables en ligne deja existants comme freeciv version en ligne, que j'ai donné precedemment ... tu peux recuperer leurs sources et le monter toi-meme ...

https://github.com/freeciv/freeciv-web

leur code semble compatible tomcat et nginx ...

Hors ligne

#13 Le 24/06/2017, à 10:15

Navalex

Re : Créer un serveur de jeu depuis Apache

J5012 a écrit :
Navalex a écrit :

Merci pour votre réponse.
Au niveau des serveurs nous allons faire différents test à chaque fois pour évaluer les ressources que demandent chaque serveur pour optimiser au mieux la répartition.
Après au niveau configuration des serveurs de jeux et physiques, nous n'aurons pas de soucis.
Juste pour le backend, utiliser des commandes Shell ne posera pas de problème de sécurité ?
Serais-ce mieux de mettre en place des api qui ferais la jonction entre le serveur web et le serveur de jeu ?

Cordialement.

le mieux est de faire des tests avec des jeux jouables en ligne deja existants comme freeciv version en ligne, que j'ai donné precedemment ... tu peux recuperer leurs sources et le monter toi-meme ...

https://github.com/freeciv/freeciv-web

leur code semble compatible tomcat et nginx ...

Comme dit plus haut, je ne cherche pas à héberger des jeux web sur un site, mais héberger des serveurs de jeux sur un serveur physique, avec une gestion à travers un site web. Tel que minecraft, ark, starbound, etc...

Et du coup au niveau des différents backend de chaque jeux je regarderais si il a ou non une api déjà intégré. Par contre pour le front-end au niveau de la création je vais sûrement faire une API pour éviter de faire des commandes Shell depuis php

Hors ligne

#14 Le 24/06/2017, à 19:50

krodelabestiole

Re : Créer un serveur de jeu depuis Apache

il faut voir au cas par cas chaque serveur de jeu. certains proposent une api, d'autres un simple fichier de config.
dans tous les cas je suppose que tes serveurs de jeu devraient tourner h24 donc la seule chose à faire serait d'autoriser ou de révoquer l'accès à des utilisateurs pour chacun des serveurs. peut-être monitorer leurs temps de connexion si la fonctionnalité est disponible.

mais effectivement le nom du sujet n'est pas du tout approprié.

Hors ligne