{"id":38940795,"url":"https://github.com/ascenmmo/websocket-server","last_synced_at":"2026-01-17T15:52:38.780Z","repository":{"id":258516650,"uuid":"874983891","full_name":"ascenmmo/websocket-server","owner":"ascenmmo","description":"This project is a high-load WebSocket service tailored for connecting game clients. It is designed for free deployment on servers, making it a robust solution for game developers.","archived":false,"fork":false,"pushed_at":"2025-07-03T16:26:38.000Z","size":6591,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-03T17:36:40.180Z","etag":null,"topics":["cross-platform","free-deployment","game-development","game-server","game-servers","game-service","high-performance","multiplayer-game","network","open-source","websocket"],"latest_commit_sha":null,"homepage":"https://ascenmmo.com","language":"Go","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/ascenmmo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-10-18T20:45:15.000Z","updated_at":"2025-07-03T16:26:41.000Z","dependencies_parsed_at":"2025-07-03T17:39:11.353Z","dependency_job_id":null,"html_url":"https://github.com/ascenmmo/websocket-server","commit_stats":null,"previous_names":["ascenmmo/websocket-server"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/ascenmmo/websocket-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ascenmmo%2Fwebsocket-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ascenmmo%2Fwebsocket-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ascenmmo%2Fwebsocket-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ascenmmo%2Fwebsocket-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ascenmmo","download_url":"https://codeload.github.com/ascenmmo/websocket-server/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ascenmmo%2Fwebsocket-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28511851,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T13:38:16.342Z","status":"ssl_error","status_checked_at":"2026-01-17T13:37:44.060Z","response_time":85,"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":["cross-platform","free-deployment","game-development","game-server","game-servers","game-service","high-performance","multiplayer-game","network","open-source","websocket"],"created_at":"2026-01-17T15:52:38.691Z","updated_at":"2026-01-17T15:52:38.757Z","avatar_url":"https://github.com/ascenmmo.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# High-Load WebSocket Service for Game Clients\n\n## Русская версия\n\nДля русскоязычных пользователей документацию можно найти [здесь](https://github.com/ascenmmo/websocket-server/blob/master/RU_README.md).\n\n## Description\nThis project is a high-load **WebSocket service** tailored for connecting game clients. It is designed for free deployment on servers, making it a robust solution for game developers.\n\n## Key Features\n\n- **High Performance**: Optimized for managing a large volume of simultaneous WebSocket connections.\n- **Free Deployment**: Easily deployable on any server without additional costs.\n- **Docker Support**: Available as both a binary and a Docker container, ensuring compatibility across platforms.\n- **Flexibility and Scalability**: Configurable to meet specific needs and easily scalable.\n\n## Installation\n\n### Installation via Docker\n\n1. Make sure Docker is installed. If it’s not installed, follow the Docker installation instructions.\n2. Run the command:\n   ```bash\n   docker compose up -d --force-recreate --build \u0026\u0026 docker image prune -f\n\t```\n\n## Configuration\n\nThe project uses the **env/env.go** package to define key configuration parameters. All services interacting with this WebSocket server must use the same token to ensure secure connections and authentication.\n\n### Configuration Parameters\n\n```go\npackage env\n\nvar (\n   ServerAddress       = \"0.0.0.0\" // Server IP address\n   TCPPort             = \"8082\"    // Port for TCP connections\n   WebsocketPort       = \"4240\"    // Port for WebSocket connections\n   TokenKey            = \"_remember_token_must_be_32_bytes\" // Unique token for authentication\n   MaxRequestPerSecond = 50        // Max requests per second\n)\n```\n\n* ServerAddress: Specifies the IP address where the server will operate.\n* TCPPort: The port on which the server will listen for TCP connections.\n* WebsocketPort: The port used for handling WebSocket connections.\n* TokenKey: A unique token that must be the same across all services interacting with this Websocket server. This ensures the security and integrity of connections.\n* MaxRequestPerSecond: A limit on the maximum number of requests the server can handle per second.\n\n\n\n##  Importance of a Single Token\n### Using a single token allows:\n\n* **Security Assurance:** All services check the token before establishing a connection, helping to prevent unauthorized access.\n* **Simplified Authentication:** A single token for all services simplifies the authentication and access management process.\n* **Ease of Maintenance:** If the token needs to be changed, it can be done in one place, and all services will be updated simultaneously.\n\nMake sure that all your services are configured to use this token to ensure the correct operation and security of the system.\n\n\n\n## Troubleshooting\n\nIf issues arise when starting the service, check the following:\n\n- Ensure that ports 8082 and 4240 are not in use by other applications.\n- Confirm that the configuration parameters in env/env.go are set correctly.\n- If using Docker, verify it is running and configured properly.\n\n\n\n\n\n## Теги\n\n`WebSocket`, `игровой сервер`, `высоконагруженный`, `бесплатное развертывание`, `Docker`, `кроссплатформенный`, `игровая разработка`, `сеть`, `многопользовательская игра`, `сервис для игр`, `настройка сервера`, `аутентификация`, `токены`, `Golang`, `open-source`\n\n## Tags\n\n`WebSocket`, `game server`, `high-performance`, `free deployment`, `Docker`, `cross-platform`, `game development`, `network`, `multiplayer game`, `game service`, `server setup`, `authentication`, `tokens`, `Golang`, `open-source`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fascenmmo%2Fwebsocket-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fascenmmo%2Fwebsocket-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fascenmmo%2Fwebsocket-server/lists"}