{"adoption": {"forks": 352, "observed_at": "2026-08-28T04:05:10.949919+00:00", "stars": 1610}, "canonical_url": "https://ross.abutalabs.com/products/gonet", "card": {"archived": false, "artifact_type": "framework", "description": "go分布式服务器，基于内存mmo", "domain": ["microservices", "backend"], "enriched": true, "function": ["rpc", "orm", "message-queue", "concurrency", "caching"], "health_score": 49, "homepage": null, "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["bobohume/gonet"], "name": "bobohume/gonet", "platform": ["go", "cross-platform"], "pushed_at": "2025-10-24T03:18:56+00:00", "repo": "bobohume/gonet", "stars": 1610, "tags": ["game-server", "actor-model", "mmo", "virtual-actor", "etcd", "snowflake", "nats", "time-wheel", "hotfix", "mailbox", "game-development", "linux"], "topics": ["golang", "server", "game", "rpc", "etcd", "snowflake", "orm", "mmo", "cluster", "golang-server", "game-framework", "gogame", "gommo", "nats"], "urls": [], "use_cases": ["build a distributed MMO game server in Go", "implement actor-based game backend with per-player actors", "set up microservices for game modules like rank and activity without separate binaries", "store player state with automatic periodic sync to database", "generate RPC code from callback functions without proto files", "achieve high availability with no single point of failure in game servers"], "what_it_is": "gonet is a Go-based distributed game server framework built around an actor model with virtual actors, in-memory MMO state, and a stub-based microservice model. It provides built-in RPC, a document-style ORM for player data, high availability via raft/lease consistency, and utilities like snowflake UUIDs and a high-precision timing wheel.", "when_to_avoid": ["you need a general-purpose web or REST API server", "your team requires extensive English documentation and large community support", "you need the advanced features (hotfix, attribute sync, codegen RPC) which are paid offerings"], "when_to_choose": ["you are building a memory-based MMO or multiplayer game backend in Go", "you want actor-model concurrency without shared-state races", "you need distributed game services with built-in RPC, ORM, and service discovery"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gonet", "repo": "bobohume/gonet", "role": "main", "score": 54}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.949919+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:51:13.648062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "293c9fef7db597472d69b665f7cee5270944fd981e608fd4227b601a027a800f", "fetched_at": "2026-08-28T04:05:10.949919+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bobohume/gonet"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.949919+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:51:13.648062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "293c9fef7db597472d69b665f7cee5270944fd981e608fd4227b601a027a800f", "fetched_at": "2026-08-28T04:05:10.949919+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bobohume/gonet"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:51:13.648062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "293c9fef7db597472d69b665f7cee5270944fd981e608fd4227b601a027a800f", "fetched_at": "2026-08-28T04:05:10.949919+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bobohume/gonet"}], "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:05:10.949919+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.949919+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.949919+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:51:13.648062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "293c9fef7db597472d69b665f7cee5270944fd981e608fd4227b601a027a800f", "fetched_at": "2026-08-28T04:05:10.949919+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bobohume/gonet"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.949919+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.949919+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:51:13.648062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "293c9fef7db597472d69b665f7cee5270944fd981e608fd4227b601a027a800f", "fetched_at": "2026-08-28T04:05:10.949919+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bobohume/gonet"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.949919+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.949919+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.949919+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:51:13.648062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "293c9fef7db597472d69b665f7cee5270944fd981e608fd4227b601a027a800f", "fetched_at": "2026-08-28T04:05:10.949919+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bobohume/gonet"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.949919+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.949919+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:51:13.648062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "293c9fef7db597472d69b665f7cee5270944fd981e608fd4227b601a027a800f", "fetched_at": "2026-08-28T04:05:10.949919+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bobohume/gonet"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:51:13.648062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "293c9fef7db597472d69b665f7cee5270944fd981e608fd4227b601a027a800f", "fetched_at": "2026-08-28T04:05:10.949919+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bobohume/gonet"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:51:13.648062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "293c9fef7db597472d69b665f7cee5270944fd981e608fd4227b601a027a800f", "fetched_at": "2026-08-28T04:05:10.949919+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bobohume/gonet"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:51:13.648062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "293c9fef7db597472d69b665f7cee5270944fd981e608fd4227b601a027a800f", "fetched_at": "2026-08-28T04:05:10.949919+00:00", "kind": "readme", "missing": false, "url": "https://github.com/bobohume/gonet"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 48, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3109, "days_push": 313, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 54, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}