{"id":20332487,"url":"https://github.com/permutationlock/simple_game_server","last_synced_at":"2025-09-17T16:10:10.298Z","repository":{"id":157747963,"uuid":"631416245","full_name":"permutationlock/simple_game_server","owner":"permutationlock","description":"A minimal effecient multiplayer game server written in C with no dynamic memory allocation.","archived":false,"fork":false,"pushed_at":"2023-09-22T09:41:13.000Z","size":72,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-14T15:42:04.838Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","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/permutationlock.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":"2023-04-23T00:35:39.000Z","updated_at":"2023-04-23T00:38:33.000Z","dependencies_parsed_at":"2023-09-23T01:25:09.970Z","dependency_job_id":null,"html_url":"https://github.com/permutationlock/simple_game_server","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/permutationlock%2Fsimple_game_server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/permutationlock%2Fsimple_game_server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/permutationlock%2Fsimple_game_server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/permutationlock%2Fsimple_game_server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/permutationlock","download_url":"https://codeload.github.com/permutationlock/simple_game_server/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241851820,"owners_count":20030965,"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":[],"created_at":"2024-11-14T20:26:51.943Z","updated_at":"2025-09-17T16:10:10.204Z","avatar_url":"https://github.com/permutationlock.png","language":"C","readme":"# Simple Game Server\n\nA learning project making a game server in C from scratch.\nThe server was not completed, and won't currently build. I was working\nvery fast and loose, and the build system is simply shell scripts.\n\nThe data structures are the most complete and interesting part of this repo. All\nthe corresponding benchmarks and \"tests\" (not really tests, but printf checks)\nshould all build and run.\n\n - The `fbaa.*` files define a simple fixed capacity item pool allocator\n(or \"fixed-block array allocator\" as I refered to it at the time).\nIt uses a ring array (aka a deque), defined in `ring_buffer.*`, to track\navailable space.\n\n - The `ring_fbaa.*` files define a fixed capacity item pool allocator that\nalso keeps an internal doubly-linked list, defined in `linked_list.*`, to\ntrack the order that items were allocated. This allows old items to be\nchecked and deallocated in a system where this makes sense.\n\n - The `rbt.*` files define an allocater independent red-black tree implementation.\nThe `array_rbt.*` files use `fbaa` and `rbt` to define a red-black tree backed\nby a fixed capacity item pool to allocate nodes.\n\nThis project moved to [Zig][1] and became the Zig game server [thierd][2].\n\n[1]: https://ziglang.org\n[2]: https://github.com/permutationlock/thierd\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpermutationlock%2Fsimple_game_server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpermutationlock%2Fsimple_game_server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpermutationlock%2Fsimple_game_server/lists"}