ChickenAPI - une API pour serveurs privés Nostale

  • Partenaires

Utilisateurs qui regardent le poste (Total: 0, Members: 0, Invité: 0)

Blowa

Blowa

Level 3
Level 2
Level 1
8 Juin 2014
175
55
944
Beijing
github.com
Discord
Blowa#1337

Salut à tous !

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







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 :) !
 
  • Réagir
Réactions: Dakusy, Elendan, Evaelis et 1 autre personne
TheHardButcher

TheHardButcher

Programmeur C/C++
Level 5
Level 4
Level 3
Level 2
Level 1
14 Déc. 2009
1,460
58
964
France
Sympa :)
 
  • Réagir
Réactions: Blowa
frojerome

frojerome

Level 4
Level 3
Level 2
Level 1
17 Janv. 2011
367
17
934
Je m'en lèche les doigts !
Beau travail en tout cas ! Et hâte de voir la suite du projet ;)
 
Blowa

Blowa

Level 3
Level 2
Level 1
8 Juin 2014
175
55
944
Beijing
github.com
Discord
Blowa#1337
Merci, stay tuned, une grosse mise à jour de l'API arrive avec toutes les bases du jeu.

Prochaines étapes du projet :
- Inventaire
- Shops
- Skill
- Combat
 
Blowa

Blowa

Level 3
Level 2
Level 1
8 Juin 2014
175
55
944
Beijing
github.com
Discord
Blowa#1337
L'inventaire a bien avancé
 
Bogo95

Bogo95

Level 3
Level 2
Level 1
28 Juin 2018
61
2
9
Super travail dans l'ensemble
 
D

Drastar

Level 2
Level 1
29 Juin 2018
48
0
127
31
Vraiment un très bon travail :)
 
Blowa

Blowa

Level 3
Level 2
Level 1
8 Juin 2014
175
55
944
Beijing
github.com
Discord
Blowa#1337
Skills ajoutés, l'inventaire est maintenant sauvegardé, les packets sont en majeur partie fonctionnels
unknown.png


L'intelligence artificelle des monstre a été ajoutée
Le déplacement des entités a été ajouté aussi (n'importe quelle entité peut bouger sans rajouter 453054305430 lignes de code, 2 suffisent (rajouter le component à l'entité et le tour est joué))


Les shops sont fonctionnels (achat/vente), NPC / Joueur
 
  • Réagir
Réactions: Kusano
Blowa

Blowa

Level 3
Level 2
Level 1
8 Juin 2014
175
55
944
Beijing
github.com
Discord
Blowa#1337
Salut,

Concernant les "mises à jour" :
Le système d'évènement a été revu
L'inventaire est fini
La communication inter serveurs a été faite
Beaucoup de code inutile enlevé
Les familles sont en cours
Le combat est en cours


On cherche aussi des gens pour pouvoir créer de réelles discussions, ChickenAPI étant un projet assez conséquent, il est intéressant d'avoir des points de vue de plusieures développeurs..

Pour toutes questions, le GitHub ou ce post sont ouverts à la critique (à condition qu'elle soit constructive et permette au projet de gagner en maturité)

Si vous souhaitez contribuer au projet, n'hésitez pas à me mp.
 
  • Réagir
Réactions: Dakusy
Blowa

Blowa

Level 3
Level 2
Level 1
8 Juin 2014
175
55
944
Beijing
github.com
Discord
Blowa#1337
Petit up pour signaler qu'on travaille toujours sur le projet :)
 
  • Réagir
Réactions: Dakusy et Kusano
Blowa

Blowa

Level 3
Level 2
Level 1
8 Juin 2014
175
55
944
Beijing
github.com
Discord
Blowa#1337
Après à peu près un an de travail (majoritairement seul), j'ai release mon émulateur sur GitHub.



Voici le lien, si jamais des gens sont intéressés pour me review / donner un feedback sur le software, je suis preneur ;) !
 
  • Réagir
Réactions: Demmon
Demmon

Demmon

The One
V.I.P
Level 5
Level 4
Level 3
Level 2
Ancien staff
Level 1
4 Mai 2011
8,185
178
969
Après à peu près un an de travail (majoritairement seul), j'ai release mon émulateur sur GitHub.



Voici le lien, si jamais des gens sont intéressés pour me review / donner un feedback sur le software, je suis preneur ;) !

Vraiment mega stylé ça mec

T'as fait tout ce que tu voulais faire dessus ou t'as juste décidé de travailler sur autre chose ?
 
Blowa

Blowa

Level 3
Level 2
Level 1
8 Juin 2014
175
55
944
Beijing
github.com
Discord
Blowa#1337
Vraiment mega stylé ça mec
T'as fait tout ce que tu voulais faire dessus ou t'as juste décidé de travailler sur autre chose ?
Un mix des deux, seul ça devient chiant d'implémenter des features du jeu, c'est pas intéressant.

Et puis, j'commence à chercher un CDI pour ma fin d'études donc faut que j'fasse un peu d'autres technos (Go notamment)
 
Blowa

Blowa

Level 3
Level 2
Level 1
8 Juin 2014
175
55
944
Beijing
github.com
Discord
Blowa#1337
Projet non maintenu, une nouvelle version, avec un autre nom (WingsEmu.API), bien plus complète et une autre architecture devrait être release d'ici quelques mois sur GitHub.