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
callback
pout 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
callback
pour de la reception des paquets. - Authentification
Modifier les fichiers config.json
afin qu'ils correspondent à votre identifiants.