PlanetServer est utilisé pour développer des environnements virtuels multi-utilisateurs en fournissant une couche intermédiaire entre le client et le serveur. Il utilise des sockets afin que tous les messages envoyés d'un client puissent être relayés à tous les autres clients. PlanetServer prend en charge les plates-formes Android / iOS / Windows / Max / Linux en ce moment. Il utilise un protocole personnalisé sur TCP et nous prendrons bientôt en charge UDP également. ## répertoires
PlanetServer a des répertoires principaux que vous devriez connaître
Lib - contient toutes les dépendances nécessaires au serveur '
Extension - Contient votre pot d'extension de jeu et toute autre dépendance personnalisée nécessaire à votre extension
Conf - contient un fichier de configuration pour le serveur, ainsi qu'un fichier de configuration pour log4j (journalisation)
##Configuration
PlanetServer contient un fichier config.properties dans le dossier conf. Ce fichier peut être modifié pour configurer des paramètres spécifiques pour votre serveur.
Le paramètre server.tcp.port est utilisé pour configurer le port sur lequel votre serveur écoute
Le paramètre server.threads.executor est utilisé pour configurer le nombre de threads dans le threadpool. Vous voudrez augmenter ce montant en fonction de la quantité d'activité pour des raisons de performance.
Il existe également un fichier log4j.properties où vous pouvez configurer la journalisation de votre serveur. Reportez-vous à la documentation LOG4J pour plus de détails à ce sujet.
À l'intérieur du dossier d'extension, il y a un fichier world.properties . Ce fichier contient des propriétés spécifiques à votre jeu et est accessible via votre code de jeu. La seule propriété nécessaire ici est l'extension.class.name qui pointe vers le point d'entrée principal de votre application. L'exemple fourni a cette configuration ainsi pour votre propre extension, il suffit de modifier le nom de la classe.
## Extensions Lors de la création de votre application, vous créez une extension à PlanetServer. L'extension est simplement un fichier JAR qui est placé à l'intérieur du dossier d'extension avec tous les autres fichiers JAR nécessaires pour votre application. Vous devez créer une classe principale pour l'extension pour le point d'entrée. La classe principale doit s'étendre de la psextension et remplacer les méthodes init et détruire. Par exemple
public class WorldExtension extends PSExtension {
@Override
public void init()
{
}
@Override
public void destroy()
{
super.destroy();
}
}
Placez toutes les fonctionnalités personnalisées dans les méthodes init et détruisez. Cela peut contenir tout code personnalisé dont vous avez besoin pour votre application.
## Demandes d'extension afin d'envoyer des commandes personnalisées au serveur, vous devez enregistrer une classe personnalisée pour un gestionnaire de demandes. Par exemple, disons que vous avez un joueur et que vous souhaitez envoyer une demande pour faire quelque chose pour le joueur. Ajoutez d'abord le gestionnaire de demande addRequestHandler («lecteur», playerRequest.class); Créez ensuite le fichier Java PlayerRequest qui s'étend à partir de BasicClientRequestHandler. Vous remplacez la méthode HandleClientRequest, puis vous pouvez analyser la demande envoyée.
Toutes les commandes sont envoyées à l'aide d'une notation de points. Par exemple, tout ce qui commence par le joueur. Sera géré par le gestionnaire de demandes qui est enregistré pour le «Player» de chaîne, certaines exemples de commandes peuvent être Player.save, Player.load, Player.move etc… Un bon moyen est d'avoir une énumération des commandes, puis vous pouvez écrire une instruction Switch pour gérer les commandes séparément par fichier Java. Vous pouvez afficher l'exemple dans l'exemple de fichier Java.
## Les plans futurs de la prochaine version majeure version 1.1 prendront en charge la messagerie UDP. Nous pensons que cela est nécessaire pour certains jeux de taux de messages plus élevés.