{"adoption": {"forks": 278, "observed_at": "2026-08-28T04:07:16.049014+00:00", "stars": 2730}, "canonical_url": "https://ross.abutalabs.com/products/yojimbo", "card": {"archived": false, "artifact_type": "library", "description": "A network library for client/server games written in C++", "domain": ["networking"], "enriched": true, "function": ["serialization", "cryptography", "networking"], "health_score": 100, "homepage": null, "language": "C++", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "stable", "member_repos": ["mas-bandwidth/yojimbo"], "name": "mas-bandwidth/yojimbo", "platform": ["cpp", "cross-platform"], "pushed_at": "2026-08-26T04:05:32+00:00", "repo": "mas-bandwidth/yojimbo", "stars": 2730, "tags": ["udp", "client-server", "multiplayer-games", "game-networking", "reliable-udp", "connect-tokens", "game-development", "real-time"], "topics": ["client-server", "udp", "protocol", "game", "multiplayer-game-server"], "urls": [], "use_cases": ["add client/server networking to a C++ game engine", "implement encrypted UDP transport for a multiplayer shooter", "send reliable-ordered and unreliable messages between game clients and server", "authenticate game clients with cryptographically secure connect tokens", "measure latency, jitter, and packet loss per connection", "fragment and reassemble large data blocks over UDP"], "what_it_is": "yojimbo is a C++ network library for client/server multiplayer games, designed around the needs of competitive games like first-person shooters. It provides encrypted UDP transport, connect-token authentication, reliable and unreliable messaging, and per-connection network statistics.", "when_to_avoid": ["you need massively multiplayer servers with more than ~100 players per server", "you need multi-threaded networking (yojimbo is single-threaded)", "your game is peer-to-peer rather than client/server"], "when_to_choose": ["your game engine is written in C++ and needs client/server networking", "you are building a competitive multiplayer game with roughly 100 players or fewer per server", "you want production-ready encrypted, authenticated UDP with reliability built in"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/yojimbo", "repo": "mas-bandwidth/yojimbo", "role": "main", "score": 99}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:16.049014+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:14:41.065828+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "048110b1fea88be6c065de3b49fcd54267c30eb4f77c934617cfe926ac61710e", "fetched_at": "2026-08-28T04:07:16.049014+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mas-bandwidth/yojimbo"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:16.049014+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:14:41.065828+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "048110b1fea88be6c065de3b49fcd54267c30eb4f77c934617cfe926ac61710e", "fetched_at": "2026-08-28T04:07:16.049014+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mas-bandwidth/yojimbo"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:14:41.065828+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "048110b1fea88be6c065de3b49fcd54267c30eb4f77c934617cfe926ac61710e", "fetched_at": "2026-08-28T04:07:16.049014+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mas-bandwidth/yojimbo"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:16.049014+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:16.049014+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:16.049014+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:14:41.065828+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "048110b1fea88be6c065de3b49fcd54267c30eb4f77c934617cfe926ac61710e", "fetched_at": "2026-08-28T04:07:16.049014+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mas-bandwidth/yojimbo"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:16.049014+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:16.049014+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:14:41.065828+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "048110b1fea88be6c065de3b49fcd54267c30eb4f77c934617cfe926ac61710e", "fetched_at": "2026-08-28T04:07:16.049014+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mas-bandwidth/yojimbo"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:16.049014+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:16.049014+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:16.049014+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:14:41.065828+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "048110b1fea88be6c065de3b49fcd54267c30eb4f77c934617cfe926ac61710e", "fetched_at": "2026-08-28T04:07:16.049014+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mas-bandwidth/yojimbo"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:16.049014+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:16.049014+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:14:41.065828+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "048110b1fea88be6c065de3b49fcd54267c30eb4f77c934617cfe926ac61710e", "fetched_at": "2026-08-28T04:07:16.049014+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mas-bandwidth/yojimbo"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:14:41.065828+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "048110b1fea88be6c065de3b49fcd54267c30eb4f77c934617cfe926ac61710e", "fetched_at": "2026-08-28T04:07:16.049014+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mas-bandwidth/yojimbo"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:14:41.065828+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "048110b1fea88be6c065de3b49fcd54267c30eb4f77c934617cfe926ac61710e", "fetched_at": "2026-08-28T04:07:16.049014+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mas-bandwidth/yojimbo"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:14:41.065828+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "048110b1fea88be6c065de3b49fcd54267c30eb4f77c934617cfe926ac61710e", "fetched_at": "2026-08-28T04:07:16.049014+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mas-bandwidth/yojimbo"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 99}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3748, "days_push": 7, "days_rel": 7, "gap_med": 1, "n_releases_24m": 18}, "score": 99, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}