- The component name is set by the "KBE_COMPONENT_NAME" environment variable.
- New script "reqCloseServer" to shut down a component for all components
- Configuration in .vscode/launch.json to start Supervisor
- Supervisor has the handler for not implemented messages
- New handler and command for the "Supervisor::onStopComponent" message
- Common "lookApp" script for all components
- The
onFindInterfaceAddr
script didn't work with Baseapp, Cellapp components - The health check "lookApp" script exited with error if cache is up to date
- The
OnFindInterfaceAddrUDPCommand
class didn't close the callback server - Supervisor has a future to indicate it is running
- The Assets API doc was updated
- The Supervisor doc was updated
- Added a new tool that generates package contained parent classes of server-side entities that fully reflect the interface from
*.def
files. Also the package has the API of the server modules KBEngine.py by the official doc and python types generated by the types.xml file. See - The parser of the file types.xml was added
- The example of vscode config for Assets in README
- README in Russian was added
- Some message handlers have been added to view the running KBEngine server
- The "pyperclip" library moved to the release environment from the dev environment
- requirements.txt was updated
- Makefile is deleted
- Added the ".env" file contained the PYTHONPATH variable to fix "pipenv shell" dependencies
- Disabled attribute access in FixedDict class (recursion error on deep copy)
- Cellapp, Baseapp message handlers for components starting
- Client handler tests moved to a separate directory
- The new component "Supervisor" replacing the Machine component was added
- Implementation of the TCP server for the component Supervisor
- Commands to check if a component is alive
- The script forced adds the hasCell, hasBase, hasClient attributes to the entity in the entities.xml and the script can add empty entity modules
- The handler, the command for the message "Machine::lookApp" were added
- Added new command to send message "Machine::queryComponentID"
- Added "debugpy" package to the project dependencies to debug Supervisor in VSCode
- The implementation of the UDP server for the component
- Added new handlers for the "Cellapp::*" messages
- Added new handler for the "DBMgr::onAppActiveTick" message
- Added a new module contains the message handlers of the Machine component
- The MsgReader can read a bare message data without message envelope
- Added a new script to parse hex stream of message from WireShark (MsgReader)
- A new command scripts sending
all components
::queryLoad were added - The command script for sending Machine::onQueryAllInterfaceInfos uses the stream client
- New children classes of the command and the client to handle server stream
- A new script for sending the Logger::queryLoad message to Logger
- The script modify_kbe_config.py moved to Enki from the project Shedu
- The base class "Command" has the state to recognize rejected connection
- check_confis.sh was moved to the "scripts" dir
- The settings.py module was split (a separate module for an each executable file)
- Merged the tcp client class and its connection
- The generator of the entities code was renamed to "egenerator"
- The script modify_kbe_config.py reads kbengine.xml attributes from the configuration file
- The script "set_version.sh" can read the arguments "-h" and "--help"
- The example of the request to the Machine component using the "enki" library
- The unit and integration tests were updated
- The project code and logic split on game layer logic and net layer logic. Every layer is serving in the separate thread.
- The entity serializators are code generated classes for serialization of the RPC to the server. They have dynamicly generated methods based on the "entities_def" files.
- The console game example was updated for the enki threaded realization
- The enki package is the main user interface for the game logic layer (it contains a few function to start and to stop the net thread and the KBEngine module)
- Code generation for entities serializators
- The KBEngine module implementation was added
- Makefile was added like API for the Enki project
- There is .env file to configure project commands
- The example of using enki to healthcheck kbe (send_hello.py)
- The application stop actions are synchronous
- The server tick is just a asyncio task now
- Using only Position and Direction types for Entity.position and Entity.direction
- Using the asyncio protocol interface instead of the tornado library
- The example how to start enki application
- A new class to move the controlled entity at the server
- The cellapp message descriptions for "forwardEntityMessageToCellappFromClient"
- The scripts to generate code to the user defined directory
- Generated types, entities, kbenginexml files were moved out of the project
- Ninmah generates code to the external directory
- Enki contains only messages descriptions and these descriptions are not generated
- The project can send and receive all client-server kbengine messages
- The scripts to manage the project version were added
- Parsing of kbengine.xml + merge with default config data
- Scripts to generate code and start the application
- Integration tests
- The "onAppActiveTickCB" handler was fixed (a debug assert was removed)
- Gracefully shutdown
- Code generation of kbe entity components
- The deserialization of the kbe entity components
- Handling of the "onRemoteMethodCall" message for components was added
- A new handler for the "OnEntityDestroyedHandler" message was added
- Ninmah was moved to the "tools" directory
- Damkina was renamed to the "application" package name of the enki
- Code generation for entities and components is using jinja templates
- The python version of the project was updated to Py3.9
- The structure of the "tests" directory was updated
- Generated entities were updated
- The code generator was fixed to use aliasID
- The handler for the "onRemoteMethodCall" message was fixed (uint8 vs uint16)
- Entity properties were not updated
- A kbengine client to connect and to serve kbe server connections
- Serializer and deserializer of kbe messages
- A code generator of the kbe entities (ninmah)
- A new parsers for the "entity_defs" directory and entities.xml was added
- Type system to build a kbe application
- A draft of the kbengine application (damkina)