{"id":26989877,"url":"https://github.com/radovanmoncek/nettgame","last_synced_at":"2026-02-25T08:38:27.822Z","repository":{"id":284548048,"uuid":"819635971","full_name":"radovanmoncek/nettgame","owner":"radovanmoncek","description":"A game server framework written in Java utilizing Docker for its architecture.","archived":false,"fork":false,"pushed_at":"2025-04-02T23:47:20.000Z","size":609,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-03T00:26:45.449Z","etag":null,"topics":["containerization","docker","flatbuffers","framework","game-development","hibernate","netty","server"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/radovanmoncek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-24T23:05:40.000Z","updated_at":"2025-04-02T23:47:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"7721961a-aa79-432c-80e4-39b88b219d15","html_url":"https://github.com/radovanmoncek/nettgame","commit_stats":null,"previous_names":["radovanmoncek/nettgame"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radovanmoncek%2Fnettgame","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radovanmoncek%2Fnettgame/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radovanmoncek%2Fnettgame/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/radovanmoncek%2Fnettgame/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/radovanmoncek","download_url":"https://codeload.github.com/radovanmoncek/nettgame/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247079400,"owners_count":20880042,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["containerization","docker","flatbuffers","framework","game-development","hibernate","netty","server"],"created_at":"2025-04-03T21:22:33.900Z","updated_at":"2026-02-25T08:38:27.816Z","avatar_url":"https://github.com/radovanmoncek.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Nettgame\n\nis an extension of the excellent **Netty** framework that aims to provide tools as a framework for \ngame server development.\n\n#### Key points\n\n- The developed server is meant for containerized runtime (Docker), but it does not have to be.\n- Nettgame is written in the Java programming language, and utilizes FlatBuffers as its \nserialization library of choice.\n- Persistence is handled through the well-known Java ORM framework Hibernate, enabling easy\nextension, and scaling. The default DBMS (Data Base Management System) option is meant to be MySQL,\nbut, thanks to Hibernate, and JDBC, not the only possible one.\n- Do be aware, that the only possible transport layer protocol option, currently, is **TCP**.\n\n#### What nettgame can do?\n\n- Support multiple game instances\n- Transport data using FlatBuffers enabled codecs\n- Hold stateful player data using Netty AttributeMap\n- Persist data through the Hibernate framework\n- Handle many incoming connections\n- Run inside of a Docker container\n- Be extended through the Porto software architecture\n\n#### How to use?\n\n- Get hold of a current version of the .jar artifact (releases)\n- Import Nettgame .jar into your project\n- Initialize a new NettgameServerBootstrap\n- Add handlers to serve business logic of your networked game\n\n#### Dependencies\n```xml\n        \u003c!-- https://mvnrepository.com/artifact/io.netty/netty-all --\u003e\n        \u003cdependency\u003e\n            \u003cgroupId\u003eio.netty\u003c/groupId\u003e\n            \u003cartifactId\u003enetty-all\u003c/artifactId\u003e\n            \u003cversion\u003e4.2.0.RC4\u003c/version\u003e\n        \u003c/dependency\u003e\n        \u003c!-- https://mvnrepository.com/artifact/com.google.flatbuffers/flatbuffers-java --\u003e\n        \u003cdependency\u003e\n            \u003cgroupId\u003ecom.google.flatbuffers\u003c/groupId\u003e\n            \u003cartifactId\u003eflatbuffers-java\u003c/artifactId\u003e\n            \u003cversion\u003e25.2.10\u003c/version\u003e\n        \u003c/dependency\u003e\n        \u003c!-- https://mvnrepository.com/artifact/org.hibernate.orm/hibernate-core --\u003e\n        \u003cdependency\u003e\n            \u003cgroupId\u003eorg.hibernate.orm\u003c/groupId\u003e\n            \u003cartifactId\u003ehibernate-core\u003c/artifactId\u003e\n            \u003cversion\u003e7.0.0.Beta4\u003c/version\u003e\n        \u003c/dependency\u003e\n        \u003c!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-engine --\u003e\n        \u003cdependency\u003e\n            \u003cgroupId\u003eorg.junit.jupiter\u003c/groupId\u003e\n            \u003cartifactId\u003ejunit-jupiter-engine\u003c/artifactId\u003e\n            \u003cversion\u003e5.12.0\u003c/version\u003e\n        \u003c/dependency\u003e\n```\n#### Sources, research and further reading\n\n- https://mahmoudz.github.io/Porto/\n- https://flatbuffers.dev/white_paper/\n- https://hibernate.org/orm/\n- https://dev.mysql.com/doc/refman/8.0/en/introduction.html\n- https://app.docker.com/\n- https://junit.org/junit5/\n- https://netty.io/\n\n#### UML Class diagram\n\n![UML Class diagram](https://github.com/radovanmoncek/nettgame/blob/development/design/Nettgame_class_diagram.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradovanmoncek%2Fnettgame","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fradovanmoncek%2Fnettgame","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradovanmoncek%2Fnettgame/lists"}