{"id":14961649,"url":"https://github.com/foxssake/netfox","last_synced_at":"2025-04-07T22:03:09.325Z","repository":{"id":189202664,"uuid":"672370136","full_name":"foxssake/netfox","owner":"foxssake","description":"Addons for building multiplayer games with Godot","archived":false,"fork":false,"pushed_at":"2025-03-31T20:28:04.000Z","size":13340,"stargazers_count":546,"open_issues_count":25,"forks_count":26,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-03-31T21:28:48.316Z","etag":null,"topics":["godot","godot-engine","multiplayer","netcode","online-game"],"latest_commit_sha":null,"homepage":"https://foxssake.github.io/netfox/","language":"GDScript","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/foxssake.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"foxssake"}},"created_at":"2023-07-29T21:00:00.000Z","updated_at":"2025-03-31T20:34:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"f1684636-1dbc-46a6-a958-ff7183820e79","html_url":"https://github.com/foxssake/netfox","commit_stats":{"total_commits":180,"total_committers":8,"mean_commits":22.5,"dds":"0.12777777777777777","last_synced_commit":"c80f52797ed2c7b72adf11227f458a8ddc3797cc"},"previous_names":["foxssake/netfox"],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foxssake%2Fnetfox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foxssake%2Fnetfox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foxssake%2Fnetfox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/foxssake%2Fnetfox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/foxssake","download_url":"https://codeload.github.com/foxssake/netfox/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247737770,"owners_count":20987718,"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":["godot","godot-engine","multiplayer","netcode","online-game"],"created_at":"2024-09-24T13:26:01.775Z","updated_at":"2025-04-07T22:03:09.291Z","avatar_url":"https://github.com/foxssake.png","language":"GDScript","readme":"\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"./docs/assets/press-kit/netfox-banner-hor.svg.preview.png\"\u003e\n  \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"./docs/assets/press-kit/netfox-banner-hor-alt.svg.preview.png\"\u003e\n  \u003cimg alt=\"netfox banner\" src=\"./docs/assets/press-kit/netfox-banner-hor-alt.svg.preview.png\"\u003e\n\u003c/picture\u003e\n\n[![License](https://img.shields.io/github/license/foxssake/netfox)](https://github.com/foxssake/netfox/blob/main/LICENSE)\n[![GitHub Release](https://img.shields.io/github/v/release/foxssake/netfox)](https://github.com/foxssake/netfox/releases)\n[![Documentation](https://img.shields.io/badge/Docs-github.io-blue)](https://foxssake.github.io/netfox/)\n[![Netfox Sharp](https://img.shields.io/badge/View-Netfox_Sharp-orange)](https://github.com/CyFurStudios/NetfoxSharp)\n[![Discord](https://img.shields.io/discord/1253434107656933447?logo=discord\u0026label=Discord)](https://discord.gg/xWGh4GskG5)\n[![ko-fi](https://img.shields.io/badge/Support%20on-ko--fi-ff5e5b?logo=ko-fi)](https://ko-fi.com/T6T8WZD0W)\n\nA set of addons for responsive online games with the [Godot engine].\n\n## Features\n\n* ⏲️  Consistent timing across multiple machines\n* 🖥️ Supports client-server architecture\n* 🧈 Smooth motion with easy-to-use interpolation\n* 💨 Lag compensation with Client-side Prediction and Server-side Reconciliation\n* 🛜 Bullet-proof connectivity with [noray] integration\n\n## Overview\n\nThe package consists of multiple addons, each with different features:\n\n* [netfox]\n  * The core package, implements timing, rollback and other multiplayer\n    features\n  * *Start here*\n* [netfox.noray]\n  * Implements [noray] integration to establish connection between players\n  * *Useful for online games*\n* [netfox.extras]\n  * Provides high-level, game-specific, convenience features built on top of\n    netfox, like base classes for input management or weapons\n  * *Check for reusable components for your game*\n* [netfox.internals]\n  * Shared utilities for the other addons\n  * Included as dependency, no need to install separately\n\n## C# Support\nFor experimental C# support, see the [Netfox Sharp repo], and the corresponding\n[Netfox Sharp guide].\n\n## Install\n\n### Releases\n\nFind the latest netfox under\n[Releases](https://github.com/foxssake/netfox/releases)\n\nEach release contains the addons, and a build of [Forest Brawl] for Windows and\nLinux. Each addon has its dependencies packed with it - e.g.\n*\"netfox.extras.vx.y.z.zip\"* also contains both *netfox* and\n*netfox.internals*.\n\n\u003e Note: For releases before v1.1.1, a separate *\".with-deps.zip\"* version\n\u003e contains the addon and its dependencies, while the regular zips contain only\n\u003e the addon itself.\n\n### Asset Library\n\nSearch for the addon name in Godot's AssetLib or download from the site:\n\n* [netfox](https://godotengine.org/asset-library/asset/2375)\n* [netfox.noray](https://godotengine.org/asset-library/asset/2376)\n* [netfox.extras](https://godotengine.org/asset-library/asset/2377)\n\n### Source\n\nDownload the [source] and copy the addons of your choice to your Godot project.\n\n### Enable the addons\n\nAfter adding *netfox* to your project, make sure to enable the addons in your\nproject settings. Otherwise, Godot will present you with errors about\nundeclared identifiers.\n\n## Upgrading\n\nIf you're upgrading from an older version of netfox, refer to the [upgrade\nguide](docs/upgrading.md).\n\n## Usage\n\nSee the [docs](https://foxssake.github.io/netfox/).\n\n### Supported versions\n\nGodot 4.x is supported by netfox. If you find any issue using any supported\nversion, please [open an issue].\n\nForest Brawl and the other examples are written against Godot 4.1. They may or\nmay not work when opened with any other version.\n\n### Prototyping\n\nTo try your game online with [noray], a free to use instance is hosted at\n`tomfol.io:8890`, the same instance used by [Forest Brawl].\n\nYou can use this [noray] instance to quickly test your games online, but is not\nrecommended for shipping games. The instance has configured limits, and no\nuptime guarantees are made.\n\n### Examples\n\n#### Comparison sample\n\n* [Single player](examples/single-player)\n* [Simple example](examples/multiplayer-simple)\n* [Example with netfox](examples/multiplayer-netfox)\n\nTo provide a short intro on how to get started with netfox, and how it fares\ncompared to built-in multiplayer tools, a simple demo was implemented as a\nsingle-player game, which was ported to multiplayer using both a naive approach\nand netfox.\n\n#### Feature examples\n\n* [State machines](examples/multiplayer-state-machine)\n* [Multiplayer FPS](examples/multiplayer-fps)\n* [Rollback Debugger](examples/rollback-debugger)\n* [Property Configuration](examples/property-configuration)\n\n#### Example game\n\n* [Forest Brawl]\n\nTo provide examples of netfox usage in an actual game, [Forest Brawl] was\ncreated and included specifically for this purpose.\n\nIt's a party game where an arbitrary amount of players compete by trying to\nknock eachother off of the map.\n\n## Built with netfox\n\nGames built with netfox, coming to a Steam near you! See the more on the site's\n[Made with netfox](https://foxssake.github.io/netfox/latest/made-with-netfox/)\npage!\n\n\u003ca href=\"https://store.steampowered.com/app/3180520/Bubble_Battle/\"\u003e\n\n![Bubble Battle](docs/assets/showcase/bubble-battle.jpg)\n\n\u003c/a\u003e\n\u003ca href=\"https://store.steampowered.com/app/3423700/PL4noB/\"\u003e\n\n![PL4no-B](docs/assets/showcase/pl4nob.jpg)\n\n\u003c/a\u003e\n\nBuilding something cool with netfox? Whether it's released or in progress, feel\nfree to open a PR, adding your game to the list!\n\n## License\n\nnetfox is under the [MIT license](LICENSE).\n\nNote that the repository contains assets made by other people as well. For\nthese cases, the relevant licenses can be found in the assets' directories.\n\n## Issues\n\nIn case of any issues, comments, or questions, please feel free to [open an issue]!\n\n## Contribution\n\nContributions are welcome! Please feel free to fork the repository and open a\nPR. Ideally, your PR implements a single thing, optionally refers to an\nexisting issue, and follows the [GDScript style guide].\n\nPlease note that depending on the feature/fix you implement, the PR may need to\nundergo changes, or in some cases, get rejected if it doesn't fit netfox's\nintended feature set or vision.\n\nIf you feel like it, grant the netfox author(s) write permission to your fork,\nso we can update the PR if needed.\n\nIf you're not sure if the PR would fit netfox or not, [open an issue] first,\nmentioning that you'd be willing to contribute a PR.\n\nAuthor(s) at the time of writing:\n\n* @elementbound\n\n## Funding\n\nIf you've found netfox useful, feel free to fund us on ko-fi:\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/T6T8WZD0W)\n\nDonations are always appreciated and taken as gratitude for the work that has\nalready been done.\n\nIf you'd like to fund a specific feature or development, please contact us in [email].\n\n[Netfox Sharp repo]: https://github.com/CyFurStudios/NetfoxSharp\n[Netfox Sharp guide]: https://foxssake.github.io/netfox/latest/netfox/guides/netfox-sharp/\n\n[source]: https://github.com/foxssake/netfox/archive/refs/heads/main.zip\n[Godot engine]: https://godotengine.org/\n[noray]: https://github.com/foxssake/noray\n\n[netfox]: addons/netfox\n[netfox.noray]: addons/netfox.noray\n[netfox.extras]: addons/netfox.extras\n[netfox.internals]: addons/netfox.internals\n[Forest Brawl]: examples/forest-brawl\n\n[open an issue]: https://github.com/foxssake/netfox/issues\n[GDScript style guide]: https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_styleguide.html\n\n[email]: mailto:foxssake@gmail.com?subject=netfox\n","funding_links":["https://ko-fi.com/foxssake","https://ko-fi.com/T6T8WZD0W"],"categories":["Plugins and scripts"],"sub_categories":["XR"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoxssake%2Fnetfox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffoxssake%2Fnetfox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoxssake%2Fnetfox/lists"}