(Contains every game features, Systems, Components, Entities, Game's DAL, Game's DTOs.) PS : My "private" repository is still open to contributors as far as you can showoff your skills, a technical test (about C# and programming logic) will be necessary to gain access to it. (Contains Packet Serialisation features, contains every packets, just the definition of those, without specific constructors like it is on GitHub) (contains every Enums related to game) ChickenAPI.Core (contains every "Core" features, Network, Plugin, ECS, "Repo pattern", Logging, Abstracted InterServerCommunication.) ChickenAPI is now splitted over 4 projects : I'm now working privately and i'll push once ChickenAPI will be stable since no one seems to pay any attention to WIPs projects I reworked many things so there is an entire Game Event feature for basic featured plugins (Motd plugin, Statistics Plugin.) Events (There are now many game events available for plugins makers)ĮCS is now mostly done using compile time properties definition instead of using GetComponent() method calls which can create a big overhead while iterating over entities. Main Loop (to mainly use my mainthread and not using unmanaged ****** concurrency through unmanaged observables/threads/tasks) Tick System (You can configure Ticks for server refresh as well as ticks for Systems refreshs, using Env for server and overriding base system properties) Movement (Entities can now move, using the tick system) Session / ServerApi / Multilanguage services : Nos#.RedisPlugin - ServiceStack.Redis wrapped for ChickenAPIĪ tutorial has been added to start create your own plugins, more informations are coming around the Plugin system.Īdded ( Not copy pasted from OpenNos and renamed it, I've written all those features from scratch respecting ChickenAPI & ECS principles ) : PacketHandling : Nos#.PacketHandlingPlugin - Basic Nostale Packet Handling (based on ChickenAPI's ECS to modify data structures / trigger events)ĭataAccessLayer : Nos#.DatabasePlugin - ServiceStack.ORMLite wrapped for ChickenAPI Our World server : (no bullshit, it's nothing more than that + own plugins) MessageQueues + gRPC : Inter Server Communication Prometheus + Grafana : Metrics & Monitoring To get an idea on how ChickenAPI's implementation is actually working on our side (NosWings team) Temporary thread design, we will go on a better presentation soon.Īdded entities containers (IContext, IMap, IMapLayer, IServer.) Since this API is totally opensource, we would like people to help us building the most interesting API for Nostale Servers. SaltyEmu is using all ChickenAPI componentsĮlendan's private fork of OpenNos will be using ChickenAPI.Packets Who ever that has a server software that support ChickenAPI. Okay, it's an API, but who will be able to use it ? Packets (We wrote all the packets we know so far in C#, with blazing fast Serializer & Deserializer) ECS (A well known design pattern, that improves software modularity)īasic Implementation provided (Most of the basic implementation are provided, however, you can use your own one !) Community Driven (If you wanna request something that you think ChickenAPI is missing, just do it, it's opened to Pull requests / suggestions) Heavy Documentation (All our work is under documentation written on a best effort basis) Event System (easily register your plugins interaction with ChickenAPI's events) Plugin System (easily create your own plugin that is interoperable with all server software that use ChickenAPI) What kind of features ChickenAPI provides ? Simply, if you see Bukkit for Minecraft, ChickenAPI has the desire to be the Bukkit of Nostale. I don't get the point, what does ChickenAPI ? I would like to present you ChickenAPI (what a strange name for Nostale content).ĬhickenAPI is, as its name contains, an opensource API that will permit people to have an interoperable code between all implementations that respect ChickenAPI.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |