{"id":13525361,"url":"https://github.com/DoubleDeez/MDFramework","last_synced_at":"2025-04-01T04:31:57.056Z","repository":{"id":37638080,"uuid":"146154668","full_name":"DoubleDeez/MDFramework","owner":"DoubleDeez","description":"A multiplayer C# game framework for Godot 3.4 Mono.","archived":true,"fork":false,"pushed_at":"2023-04-22T20:33:30.000Z","size":426,"stargazers_count":77,"open_issues_count":17,"forks_count":13,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-08-02T06:17:38.320Z","etag":null,"topics":["game-development","gamedev","godot","godot-engine","godot3","godotengine","multiplayer"],"latest_commit_sha":null,"homepage":"https://discord.gg/UH49eHK","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DoubleDeez.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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}},"created_at":"2018-08-26T05:40:59.000Z","updated_at":"2024-01-11T19:47:29.000Z","dependencies_parsed_at":"2024-04-12T03:03:09.543Z","dependency_job_id":null,"html_url":"https://github.com/DoubleDeez/MDFramework","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/DoubleDeez%2FMDFramework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DoubleDeez%2FMDFramework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DoubleDeez%2FMDFramework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DoubleDeez%2FMDFramework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DoubleDeez","download_url":"https://codeload.github.com/DoubleDeez/MDFramework/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222698222,"owners_count":17024879,"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":["game-development","gamedev","godot","godot-engine","godot3","godotengine","multiplayer"],"created_at":"2024-08-01T06:01:18.012Z","updated_at":"2024-11-02T09:31:02.157Z","avatar_url":"https://github.com/DoubleDeez.png","language":"C#","funding_links":[],"categories":["Plugins and scripts","C\\#"],"sub_categories":["3D"],"readme":"# MDFramework\nA multiplayer C# game framework for Godot 3.4.\n\n## Archived\nI'm no longer maintaining MDFramework.\n\n## Why I made it\nThere are a lot of features from other game engines that I'm used to, so I wanted to build something that made those features available in Godot.\n\n# Features\n* Automatically [replicate members](https://github.com/DoubleDeez/MDFramework/wiki/Automatic-Member-Replication) without calling `Rset`.\n* Allows the server to [spawn nodes over the network](https://github.com/DoubleDeez/MDFramework/wiki/Networked-Node-Spawning) to all clients.\n* [Command line parameter parsing](https://github.com/DoubleDeez/MDFramework/wiki/Parsing-Command-Line-Arguments) that can be queried at any time\n* A simple [logging system](https://github.com/DoubleDeez/MDFramework/wiki/Logging-System) with logging categories and different log levels for each category for both writing to file and stdout\n* A [console command](https://github.com/DoubleDeez/MDFramework/wiki/Command-Console) prompt that allows you to add commands from single-instance classes\n* A simple [profiler](https://github.com/DoubleDeez/MDFramework/wiki/Performance-Profiling) class to determine execution time of a code block\n* Bind editor-created nodes to member variables automatically with [node binding](https://github.com/DoubleDeez/MDFramework/wiki/Node-Binding)\n* A [Game Session and Player Info](https://github.com/DoubleDeez/MDFramework/wiki/Game-Session) system for managing networked multiplayer\n* A [Game Synchronizer](https://github.com/DoubleDeez/MDFramework/wiki/Game-Synchronizer) to automatically synchronize the game when a new player joins\n\n# Installation\n1. Add the repo as a submodule to your Godot project's directory (for me I added it to `src\\MDFramework`).\n```bash\ngit submodule add https://github.com/DoubleDeez/MDFramework.git src/MDFramework\n```\n\n2. Setup your `project.godot` to AutoLoad either `MDGameInstance` or your subclass of it:\n\n```ini\n[autoload]\nGameInstance=\"*res://src/MDFramework/MDGameInstance.cs\"\n```\n\n3. Checkout the [wiki](https://github.com/DoubleDeez/MDFramework/wiki) for details on how to use MDFramework.\n\n4. When exporting, under the resources tab, make sure to include `*.ini` to package the config files.\n\n# Examples\n\nCheckout the [Examples Repo](https://github.com/DoubleDeez/MDFramework-Examples) for examples on how to use various features of MDFramework.\n\n# Help\n\nIf you're struggling to get something working or have a question either [log an issue](https://github.com/DoubleDeez/MDFramework/issues) or [reach out on discord](https://discord.gg/UH49eHK).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDoubleDeez%2FMDFramework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FDoubleDeez%2FMDFramework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDoubleDeez%2FMDFramework/lists"}