Projet expérimental permetant de communiquer avec le serveur FLYFF via des clients extern tel que les bots discord.
Le projet est constitué des solutions TCPNetwork, APIConnector, APIServer, APIClient.
Bibliothèque dynamique permettant d'effectuer une connexion et d'envoyer des messages via le protocol TCP.
Language : C++ 14.
Bibliothèque dynamique, wrapper permettant de créer un client/server de l'API.
Les fonctions primaires sont definies dans cette bibliothèque tel que l'authentification, envoie de commandes...
Exécutable représentant le serveur Back-End.
Il permet de relier les serveurs Flyff, Bot Discord et les Clients Externes entre eux, il fait circuler l'information.
Exécutable permettant de tester les échanges entre les différentes parties --> SANDBOX.
Les packets sont structurés de cette manière :
| instruction | octects | type |
|---|---|---|
| LENGTH | 4 | unsigned int |
| PACKET TYPE | 4 | unsigned int |
| DATAS | X | X |
La création d'un serveur API s'éffectue via la function createServer, cette fonction retourne une structure SFactoryServer.
Il faut indiquer à createServer le port.
La destruction du serveur API s'éffectue via destroyServer, cette fonction permet de couper toutes les connections TCP ouvertes proprement.
La gestion du pointeur serveur passe via les fonctions SFactory fichier TFactory.hpp.
Un serveur peut donc communiquer avec des clients dont le type la liste est define dans APIMessageHandler.hpp.
Lorsque le serveur reçoit un packet il peut renvoyer l'information aux autres clients.
- Creation d'un pointeur
SFactoryServer. - Definir la
callbackpout la reception des paquets. - Authentification
La creation d'un client API s'éffectue via la function createClient, cette fonction retourne une structure SFactoryClient.
Il faut indiquer à createClient le port et l'ip du serveur.
La destruction du serveur API s'éffectue via destroyClient, cette fonction permet de couper toutes les connections TCP ouverte proprement.
La gestion du pointeur client passe via les fonctions SFactory fichier TFactory.hpp.
Un client doit obligatoirement s'authentifier afin de definir son type la liste est présente dans le fichier APIMessageHandler.hpp.
- Charger la DLL
APIConnector - Creation d'un pointeur
SFactoryClient. - Definie la
callbackpour de la reception des paquets. - Authentification
Modifier les fichiers config.json afin qu'ils correspondent à votre identifiants.
