{"id":22697660,"url":"https://github.com/modcommunity/multigames-abstract","last_synced_at":"2025-04-22T20:18:30.600Z","repository":{"id":141263248,"uuid":"585369795","full_name":"modcommunity/multigames-abstract","owner":"modcommunity","description":"An abstract of implementing multigame support into game engines allowing for game servers to rotate between different games/game modes.","archived":false,"fork":false,"pushed_at":"2023-01-05T02:21:55.000Z","size":3,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-22T20:18:26.088Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"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/modcommunity.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-01-05T01:55:41.000Z","updated_at":"2023-03-07T02:57:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"200686ec-a7cd-4398-a8cf-d9da7169612d","html_url":"https://github.com/modcommunity/multigames-abstract","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/modcommunity%2Fmultigames-abstract","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modcommunity%2Fmultigames-abstract/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modcommunity%2Fmultigames-abstract/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/modcommunity%2Fmultigames-abstract/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/modcommunity","download_url":"https://codeload.github.com/modcommunity/multigames-abstract/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250316069,"owners_count":21410476,"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-12-10T05:14:55.255Z","updated_at":"2025-04-22T20:18:30.592Z","avatar_url":"https://github.com/modcommunity.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Multigames Abstract\nBy **[Christian Deacon](https://github.com/gamemann)**  \nCreated on **January 4th, 2023**\n\n## Overview\nThis document will serve as an abstract for implementing support for rotation of games and game modes inside of any given game engine for multiplayer servers. Game engines that would benefit from this implementation include the following.\n\n* [Godot Engine](https://godotengine.org/)\n* [Unity](https://unity.com/)\n* [Unreal Engine](https://unrealengine.com/)\n\n## Design\nWe have the **client**, which is typically a player/real person and the **game server** whose responsibilities include everything multiplayer-related from sending data back and forth between the client and game server, syncing data between all clients, and handling other stateful data (e.g. physics).\n\nWith our approach, before clients may fully load into the server, the server requires the client to download all *content* the client does not have for a given game or game mode. Content include assets such as models, materials, objects, and prefabs along with scenes/maps. In this case, the game server would force the client to download all content automatically using secure methods such as `HTTPS`. After all content is downloaded, the client mounts the content and is loaded into the game server.\n\nThere are existing tools and frameworks out there such as [Steam Workshop](https://steamcommunity.com/workshop/) that does something similar to this. However, only supports content specifically inside of a game such as community-made content like maps, models and materials.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmodcommunity%2Fmultigames-abstract","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmodcommunity%2Fmultigames-abstract","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmodcommunity%2Fmultigames-abstract/lists"}