Blowa

ChickenAPI - l'API pour serveurs privés Nostale

Recommended Posts

logo_512.png

Salut à tous !

J'aimerais vous présenter un projet personnel OpenSource, ChickenAPI


hero-open-in-github-black.png?v=14770015

widget.png?style=banner2


Qu'est ce que ChickenAPI?

Comme son nom l'indique, ChickenAPI est une API, rédigée en C#, sous .NET Standard 2.0
Avec mon expérience passée de développement sur les serveurs privés, j'ai remarqué un problème récurrent, peu importe les jeux, la plupart du temps, un code n'est pas interopérable mais n'est limité qu'à une source.
Pourtant, on peut remarquer que Minecraft n'a pas fait cette erreur et dispose de l'API Bukkit qui permet une interopérabilité des différentes libs/frameworks qui seront développé(e)s autour.

C'est là que m'est venu l'idée de faire ChickenAPI, un standard dans les serveurs privés Nostale :).


Je comprends pas, ça sert à quoi ?

Simply, if you see Bukkit for Minecraft, ChickenAPI has the desire to be the Bukkit of Nostale.
Très simplement, comme dit plus tôt, Bukkit est une API très modulaire et simple pour Minecraft, je me suis dit qu'il fallait la même chose pour Nostale.

Passer d'un émulateur à un autre en ayant la même "code base" pour des raisons X ou Y sans avoir à tout péter ;D


Qu'est ce que ChickenAPI met à disposition ?

Tous les éléments du jeu de base.

Un système de plugins
Un système d'évènement générique
Une documentation rédigée sur les bases du "best effort"
Conduit par la communauté, c'est une API faite pour la communauté par la communauté
Un EntityComponentSystem simple, efficace
Un DataAccessLayer simple, asynchrone et synchrone (au bon vouloir du développeur)
Un système de commandes (incoming)


Ok, je vois, mais qui peut l'utiliser et comment ?
Pour l'instant, c'est un simple repository Git, il faudra donc l'inclure en submodule dans votre propre repository pour travailler avec (pour être le plus flexible possible)

Ensuite, un package Nuget va être distribué.
J'ai moi même développé mon propre émulateur qui supporte entièrement ChickenAPI, il s'appelle Nos# et respecte les principes d'un software "Cloud Native"


Super initiative, on peut participer ?
Biensur !
Comme ChickenAPI est OpenSource, hébergé sur GitHub, nous sommes très ouverts aux critiques constructives, aux pull requests et au rapports de bugs/missing feature

Le discord est ouvert pour toute information que vous souhaiteriez connaître.


Merci pour votre lecture :) !

  • Like 1

Share this post


Link to post
Share on other sites

Merci,

 

Je suis actuellement entrain de bosser sur la DataAccessLayer afin qu'elle soit la plus pérène possible, tout en étant simple, modulaire et perfomante.

 

J'attaque aussi le système de Tick du serveur et après les bases seront en place pour avoir une première version jouable côté serveurs en se basant sur l'API :)

Share this post


Link to post
Share on other sites