{"id":15043705,"url":"https://github.com/youngmonkeys/ezyfox-server","last_synced_at":"2026-01-29T10:11:25.137Z","repository":{"id":23039201,"uuid":"81928197","full_name":"youngmonkeys/ezyfox-server","owner":"youngmonkeys","description":"A socket server (include SSL) supports realtime application, realtime game, MMORPG, messaging, chat and streaming data with TCP, UDP and Websocket","archived":false,"fork":false,"pushed_at":"2025-10-19T12:12:59.000Z","size":4985,"stargazers_count":656,"open_issues_count":1,"forks_count":107,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-10-19T21:36:05.736Z","etag":null,"topics":["chat-server","game-server","live-streaming","mmorpg-server","multiplayer-game-server","networking","realtime","socket-io","socket-server","tcp","tcp-server","udp","udp-server","unity-server","websocket","websocket-server"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/youngmonkeys.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-02-14T09:25:49.000Z","updated_at":"2025-10-19T11:44:29.000Z","dependencies_parsed_at":"2023-02-18T17:31:25.043Z","dependency_job_id":"18842247-dc3b-4164-bd00-a680d4af0b04","html_url":"https://github.com/youngmonkeys/ezyfox-server","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/youngmonkeys/ezyfox-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/youngmonkeys%2Fezyfox-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/youngmonkeys%2Fezyfox-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/youngmonkeys%2Fezyfox-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/youngmonkeys%2Fezyfox-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/youngmonkeys","download_url":"https://codeload.github.com/youngmonkeys/ezyfox-server/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/youngmonkeys%2Fezyfox-server/sbom","scorecard":{"id":1238972,"data":{"date":"2025-10-13","repo":{"name":"github.com/youngmonkeys/ezyfox-server","commit":"8b15ff10c3f98c20dd826446a7f5a390092c223f"},"scorecard":{"version":"v5.3.1-0.20251012233417-af419a5f4ac8","commit":"af419a5f4ac865788a844e5a2e726681cf4ff42b"},"score":4.2,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/af419a5f4ac865788a844e5a2e726681cf4ff42b/docs/checks.md#maintained"}},{"name":"Security-Policy","score":4,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Warn: no linked content found","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/af419a5f4ac865788a844e5a2e726681cf4ff42b/docs/checks.md#security-policy"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/af419a5f4ac865788a844e5a2e726681cf4ff42b/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/af419a5f4ac865788a844e5a2e726681cf4ff42b/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":3,"reason":"Found 9/29 approved changesets -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/af419a5f4ac865788a844e5a2e726681cf4ff42b/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/maven.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/af419a5f4ac865788a844e5a2e726681cf4ff42b/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/af419a5f4ac865788a844e5a2e726681cf4ff42b/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":6,"reason":"dependency not pinned by hash detected -- score normalized to 6","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/maven.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/youngmonkeys/ezyfox-server/maven.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/maven.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/youngmonkeys/ezyfox-server/maven.yml/master?enable=pin","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of   1 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/af419a5f4ac865788a844e5a2e726681cf4ff42b/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":8,"reason":"binaries present in source code","details":["Warn: binary detected: ezyfox-server-core/test-data/apps/entries/ezyfox-chat/ezyfox-chat.jar:1","Warn: binary detected: ezyfox-server-core/test-data/plugins/ezyfox-auth-plugin/ezyfox-auth-plugin.jar:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/af419a5f4ac865788a844e5a2e726681cf4ff42b/docs/checks.md#binary-artifacts"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/af419a5f4ac865788a844e5a2e726681cf4ff42b/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/af419a5f4ac865788a844e5a2e726681cf4ff42b/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/af419a5f4ac865788a844e5a2e726681cf4ff42b/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/af419a5f4ac865788a844e5a2e726681cf4ff42b/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 15 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/af419a5f4ac865788a844e5a2e726681cf4ff42b/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":6,"reason":"4 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-6v67-2wr5-gvf4","Warn: Project is vulnerable to: GHSA-pr98-23f8-jwxv","Warn: Project is vulnerable to: GHSA-qh8g-58pp-2wxh","Warn: Project is vulnerable to: GHSA-q4rv-gq96-w7c5"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/af419a5f4ac865788a844e5a2e726681cf4ff42b/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-10-19T21:37:14.930Z","repository_id":23039201,"created_at":"2025-10-19T21:37:14.930Z","updated_at":"2025-10-19T21:37:14.930Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28875450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T09:47:23.353Z","status":"ssl_error","status_checked_at":"2026-01-29T09:47:19.357Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["chat-server","game-server","live-streaming","mmorpg-server","multiplayer-game-server","networking","realtime","socket-io","socket-server","tcp","tcp-server","udp","udp-server","unity-server","websocket","websocket-server"],"created_at":"2024-09-24T20:49:28.003Z","updated_at":"2026-01-29T10:11:25.005Z","avatar_url":"https://github.com/youngmonkeys.png","language":"Java","funding_links":[],"categories":["网络编程","Java"],"sub_categories":[],"readme":"# EzyFox Server\n\n![GitHub release](https://img.shields.io/github/release/youngmonkeys/ezyfox-server.svg)\n[![Java CI with Maven](https://img.shields.io/github/actions/workflow/status/youngmonkeys/ezyfox-server/maven.yml\n)](https://github.com/youngmonkeys/ezyfox-server/actions/workflows/maven.yml)\n![License](https://img.shields.io/github/license/youngmonkeys/ezyfox-server)\n[![GitHub star chart](https://img.shields.io/github/stars/youngmonkeys/ezyfox-server?style=social)](https://star-history.com/#youngmonkeys/ezyfox-server)\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"./logo.png\" width=\"255\" /\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n⚡ Empowering real-time experiences effortlessly ⚡\n\u003c/div\u003e\n\n## 📖 Introduction\n\nAn Open Solution for all your Real-Time needs.\n\nTo develop online games rapidly, developers often need to use a game server engine like SmartFoxServer or Photon. Unfortunately, these engines come with a high price tag, especially as more and more users engage with our products. That's why we developed the EzyFox ecosystem, which aims to be free and open for anyone interested in building multiplayer games and applications.\n\nThe EzyFox ecosystem supports a wide range of essential components for enterprise product development, including TCP, UDP, WebSocket protocols with SSL encryption, HTTP RESTful API, Remote Procedure Call (RPC) protocol, Database Interaction, Memory Caching, and Message Queue.\n\nWith the EzyFox ecosystem, we can avoid the headache of choosing which technologies to use to manage and scale up an application, allowing us to focus solely on implementing business logic.\n\n## ✨ Features\n\n* **Core Container \u0026 Dependency Injection**: Includes bean manipulation, auto-binding, auto-implementation, and more.\n* **Multiple Communication Protocols**: Supports TCP, UDP, WebSocket, and HTTP.\n* **Traffic Encryption**: Allows for traffic between clients and servers to be encrypted using SSL.\n* **Multiple Client SDKs**: Includes Android, iOS, Unity, React, C++, Flutter, and more.\n\n\n## 🚀 Getting Started\n\n[Let's see how we can get started in just 5 minutes!](https://youngmonkeys.org/get-started/)\n\n## 📑 Documentation\n\n- [Official EzyFox Server documentation](https://youngmonkeys.org/projects/ezyfox-server)\n- [Issues](https://github.com/youngmonkeys/ezyfox-server/issues)\n\n## 📐 Architecture Overview\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"./images/ezyfox-server-architecture.png\" width=\"512\" /\u003e\n\u003c/div\u003e\n\n-----------\n\n- An EzyFox server contains multiple zones.\n- A zone contains its user manager, multiple apps and multiple plugins.\n- An app contains its user manager.\n- A plugin only handles events and clients' requests.\n\nSee more detail about the sever architecture [here](https://youngmonkeys.org/ezyfox-server/guides/ezyfox-server-architecture)\n\n## ✏️ Examples\n\n1. [Free Chat](https://github.com/youngmonkeys/freechat)\n2. [Space Game Cocos2d-x](https://github.com/tvd12/space-game)\n3. [Space Shooter Unity](https://github.com/tvd12/space-shooter)\n4. [Lucky Wheel Phaser HTML5](https://github.com/tvd12/ezyfox-server-example/tree/master/lucky-wheel)\n5. [One Two Three Simple Game Server](https://github.com/tvd12/ezyfox-server-example/tree/master/one-two-three)\n6. [Easy Smashers Unity](https://github.com/vu-luong/ezy-smashers)\n\n## 📜 Tutorials\n\n1. [EzyChat](https://youtube.com/playlist?list=PLlZavoxtKE1IfKY7ohkLLyv6YkHMkvH6G): A simple real-time chat application\n2. [EzyRoulette](https://youtube.com/playlist?list=PLlZavoxtKE1LD6qI87wp3YjLGzL8rMbSG): A simple lucky wheel game\n\n## 🔥 Benchmark\n\nEzyfox Server's benchmark involved broadcasting messages to 1000 concurrent users in one hour on a VPS with 512MB of RAM and 1 CPU core. You can [watch this video](https://youtu.be/TiSLOWIid5o) to see how we conducted the test.\n\n\u003cimg src=\"./images/ezyfox_1h.png\" width=\"747\" height=\"320\" /\u003e\n\n## 🔌 Client SDKs\n\n1.  [Android](https://github.com/youngmonkeys/ezyfox-server-android-client)\n2.  [C/C++](https://github.com/youngmonkeys/ezyfox-server-cpp-client)\n3.  [CSharp](https://github.com/youngmonkeys/ezyfox-server-csharp-client)\n4.  [Flutter](https://github.com/youngmonkeys/ezyfox-server-flutter-client)\n5.  [Java](https://github.com/youngmonkeys/ezyfox-server-java-client)\n6.  [Javascript ECMAScript 6](https://github.com/youngmonkeys/ezyfox-server-es6-client)\n7.  [Javascript](https://github.com/youngmonkeys/ezyfox-server-js-client)\n8.  [Netty](https://github.com/youngmonkeys/ezyfox-server-netty-client)\n9.  [Swift](https://github.com/youngmonkeys/ezyfox-server-swift-client)\n10. [React Native](https://github.com/youngmonkeys/ezyfox-react-native-client)\n\n## 🎯 Game libraries\n\n[Game Box](https://github.com/youngmonkeys/game-box): Provide Entities, Managers, Handlers, Maths classes for many types of online games (Turn-based (Located), MMO, Normal), you can take a look [here](https://youngmonkeys.org/projects/game-box) to get more details.\n\n## 🔨 Development\n### Environment\n- JDK 1.8\n- Maven\n\n### Tests\n\nNavigate to the source folder and run:\n```\nmvn test\n```\n\n## 🎉 Who uses EzyFox?\nAs the EzyFox community grows, we'd love to see how our open-source framework can help you and your organization solve real-world problems. Feel free to send a PR with your project name/organization name if you are using EzyFox.\n\nCurrently, the following organizations are officially using EzyFox:\n\n1. [Defi Warrior](https://gamefi.org/games/defi-warrior)\n2. [EzySmashers](https://ezysmashers.ezyplatform.com/)\n3. ...\n4. Your awesome project ✨\n\n## 💖 Support Us\n[Make a Meaningful Donation 😎](https://youngmonkeys.org/donate/)\n\n## ☎️ Contact Us\n\n- Get in touch with us on [Facebook](https://www.facebook.com/youngmonkeys.org)\n- Ask us on [stackask.com](https://stackask.com)\n- Email us at [contact@youngmonkeys.org](mailto:contact@youngmonkeys.org)\n- Chat with us on [Discord](https://discord.gg/hKV2cbaT5h)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoungmonkeys%2Fezyfox-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyoungmonkeys%2Fezyfox-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoungmonkeys%2Fezyfox-server/lists"}