- New optional env variable to set "stop_grace_period" in the compose file
- Setting for KBEngine to start component shutdowning immediately after the "reqCloseServer" message (
root/shutdown_time=1
иroot/shutdown_waittick=1
) - The trap for SIGTERM was added to the
start_component.sh
script. The trap catches the signal and sends the "reqCloseServer" message to the component. - Gracefully stopping of Supervisor (signal -> message -> stop)
- A stopping component sends the notification to Supervisor ("Supervisor::onStopComponent")
- Suppress TCP channel loss error in Logstash when stopping component
- Sequence diagrams of KBEngine starting up
- Dockerfile with Python v3.7.3 to install python libraries in KBEngine v2.5.12
- New rule "restart_game" to rebuilt assets image only
- The use of the debugger for the cluster has been documented
- New script to print environment variables docs (
make print_vars_doc
)
- Portainer deployment added
- Docker build optimization
- The game couldn't create a log directory if ELK was running before
- Loginapp::importClientSDK message didn't work because assets directory permissions
- A new Dockerfile to build python3.9 for the enki lib
- The "enki" lib added to health-check kbe components
- Added a new component Supervisor based on the Enki library replacing the Machine component
- The cluster components can be debugged by VSCode
- An initial log file in the "logs" directory to view logs without running game
- An alone DB instance can be started for debugging
- Added a new environment variable "KBE_PUBLIC_HOST"
- Added a script that updates the Enki library from host
- Running each component in a separate container + health check
- The ES and log volumes are common for all games
- The script modify_kbeenginexml.py moved to the Enki project
- The project volumes are external + makefile rules to manage them
- Updated Cocos2d demo build to run clients on different hosts
- The script modify_kbe_config.py reads kbengine.xml attributes from the configuration file
- Starting cluster components as a non-root user
- The ES and log volumes are common for all games
- The script modify_kbe_config.py moved to the Enki project
- The game name is in the ES index name
- ELK doesn't use the .env config so it's no need to check config for ELK
- Removed game name from ELK and MariaDB tags
- The rules "logs_console" is fixed up
- Elastic geoip processor was disabled because Kibana cannot connect to Elastic
- MariaDB health check and game start based on it
- An initial log file in the "logs" directory to view logs without running game
- The updated assets log4j settings to write logs to a separate dir for each game
- Log records in the ES index have the "game_name" field
- Exporting Kibana search settings before the log page is open
- ELK and game compose projects were split
- The deployment diagram was updated
- The example configs were renamed
- The deploy scripts were moved to the common scripts directory
- Fixed: the assets repository didn't checkout to the defined commit
- The kbe js plugin in a git submodule was not updated in the Dockerfile
- A new config for the kbe server compatible with the Cocos2D-JS demo client
- A new Dockerfile for building of the cocos demo client
- Make rule for starting the kbe Cocos2D-JS demo
- The configuration file for the source code with LGPL license (v1.1.8)
- Machine ports and Interfaces telnet port were opened
- The variables from the .env file are not exported to the Makefile
- Tests for building work flow were added
- Using cache of github responses
- Checking ELK bash commands was moved in the Makefile (instead of the bash scripts)
- Using docker-compose with two config files to stop and clean artifacts
- The project is compatible with docker-compose version 1.25.0
- The "./configure" script was add the executable flag
- Minor fixes for the docker installation scripts
- MVP of KBEngine + ELK Stack for kbe logging was added
- Web interfaces (Kibana and Dejavu) for log viewing
- Kbe docker volumes and nets have the names based on $GAME_NAME
- The build logic was moved to the Makefile, the unusing scripts were removed
- The scripts are used the log.sh lib
- The check_config.sh script checks all values are valid
- Makefile overrides some variables
- The status script was updated
- Debug makefile targets moved to the separate file
- the README file has more detail info about the project
- Some optimization to reuse docker cache
- The telnet CellApp ports and the DB port were exposed
- The "game" prefix or suffix in the make targets was deleted
- Executable mode for all bash scripts was added
- A new setting variable "KBE_ASSETS_SHA" was added to the config file. You can build the game based on the assets git commit
- Two example configs were added to the project
- The shedu/.env settings file is mandatory
- Shedu settings in the assets are located in .env file
- A new script for compiling KBEngine on Ubuntu was added
- Default kbe db settings were using. It was fixed
- The script building the assets image was updated: changed the order of image layers
- Added prefix --kbe to parameter names in bash scripts
- Make build of a kbengine image is using a new build script
- New scripts to build and to push the compiled kbe image on the docker hub were added
- A new script building the pre-assets image was added
- Force building of the kbengine without cache was added ("build_force" make rule)
- The "start_game.sh" script cannot find the built kbe demo image. It was fixed.
- Added a new script "configure" to install dependencies
- The build_assets.sh can download kbe assets demo
- The rule "make logs" was fixed: there was no game image name to attach to the container.
- Added a new script to check logs of the game.
- Added a new script to check the game container is running.
- Added a new script to tail logs of the game.
- Added a new script to go into the running game container.
- The game start and stop were split up two separated scripts.
- Added makefile to manage the project.
- Added scripts: 1) to list project images 2) to request the latest commit sha of the kbengine repository 3) check a configuration file
- Docker-compose only starts the game, all images are built by pure docker.
- An example configuration file was renamed to "example.env"
- No "mariadb-devel" library in the final image. It was added.