{"id":21035323,"url":"https://github.com/nolleh/rsp","last_synced_at":"2026-02-21T09:01:21.900Z","repository":{"id":193864387,"uuid":"689532685","full_name":"nolleh/rsp","owner":"nolleh","description":"⚡Realtime Server Platform  - aims to make room based socket server platform","archived":false,"fork":false,"pushed_at":"2025-11-09T06:59:45.000Z","size":366,"stargazers_count":1,"open_issues_count":15,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-09T08:12:27.290Z","etag":null,"topics":["boost","cpp","framework","game-server","socket-programming"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nolleh.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-09-10T05:28:54.000Z","updated_at":"2025-10-27T15:14:11.000Z","dependencies_parsed_at":"2025-10-13T09:06:13.385Z","dependency_job_id":"ac21009f-e001-4151-931f-9b610eed87ce","html_url":"https://github.com/nolleh/rsp","commit_stats":null,"previous_names":["nolleh/rsp"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/nolleh/rsp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nolleh%2Frsp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nolleh%2Frsp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nolleh%2Frsp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nolleh%2Frsp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nolleh","download_url":"https://codeload.github.com/nolleh/rsp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nolleh%2Frsp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29677881,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T06:23:40.028Z","status":"ssl_error","status_checked_at":"2026-02-21T06:23:39.222Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["boost","cpp","framework","game-server","socket-programming"],"created_at":"2024-11-19T13:14:34.725Z","updated_at":"2026-02-21T09:01:21.857Z","avatar_url":"https://github.com/nolleh.png","language":"C++","readme":"# RSP\n## OVERVIEW\n\n[![License: GNU GPL](https://img.shields.io/badge/License-GNU%20GPL-blue.svg)](https://opensource.org/licenses/gpl-3-0)\n\n**R**ealTime **S**erver **P**latform\n\nStarted @since 23.09.10  \ndevelopment by [@nolleh](mailto:nolleh7707@gmail.com)\n\nIt aims to make room based socket server platform(framework) in production level for core parts.\n(long term project, and this will be progressed in my leisure time, so getting longer.)\n\n- 😎 If you implement contents logic with shared_library to room server,    \nmultithreading / network / session management no need to be cared,  \njust concentrate on your business logic in room \n\nTerms `room based` meaning\n\u003e user can explore rooms that open to match, and enter a room that selected by user or \n\u003e randomly, that open to that user by conditions (like ranking point or money)\n\nTerms `socket server` meaning \n\u003e I believe C++ is A almost fastest language and a real time server should take advantage of that,  \n\u003e if that is crucial parts of the application.  \n\u003e as such principle, used 'socket' (could be websocket) for maintain connectivity with simplest protocol.\n\u003e using binary protocol and protobuf (far-much-lighter ~but hard to debug~ than that of json or...)\n\nTerms `platform` meaning\n\u003e can be used other business logic by using shared_library\n\u003e meaning:   \n\u003e 1. after enter the room, communication between client \u003c-\u003e server is bypassed to library (contents logic),  \nso with this platform, you can implement `ANY` (Game/Chatting) logic that need to communicate between `same room users`\n\u003e 2. after enter the room, the rooms' logic is `ALSO` changeable by shared library `WHILE RUNNING SERVER` (with-no-shutdown-time)\n\nIt is open to use,  \nbut plz represent where it [from](https://github.com/nolleh/rsp) and  \nand also if you like this, or to give motivation for development, press star. :)\n-- *follows GNU GPL LICENSE*\n\n## Restriction\nTo make things simple, not very concern about multi platform (OS) \nor compiler version.\nIf need or it stimulate my curiosity (... 😅), it is possible choose component that not compatible with other platform.\nthe dependencies will be descripted below.  \n\n## Dependencies\n\n- Tested on\n    - cxx-20\n    - boost-1_83_0\n    - cmake-3.25.1\n    - gcc-12.3.0\n    - protoc-3.21.12\n    - [zeromq-4.3.4-6](https://zeromq.org/)\n    - cppzmq-4.10.0-1\n\n## Run\n\n### 1. Manual build\n\n1. Prepare the dependencies, and run ./rebuild.sh\n2. Then ./run-svr.sh and ./run-cli.sh (with individual terminal)\n\n### 2. Using prebuilt\n\n- Until now, tested on ubuntu (with aarch64) / MAC OS (aarch64) \n\nFrom here,\nhttps://github.com/nolleh/rsp/releases\n\nDownload tar  \nthen untar, then run\n\n```\ntar -xvf {filename}\n./User\n./Client 127.0.0.1\n```\n\nCurrently used port : 8080\n\nFilename is file that you downloaded. differ from distribution. for now ubuntu, \n- rsp-v0.0.1-ubuntu-aarch64.tar\n\nFor more explanation, there may exist in release page.\n\n## Style\n\nBasically, follow [google c++ style guide](https://google.github.io/styleguide/cppguide.html)\n- But used c++20 features(my curiosity) if needed, which is opposite that guide\n- But used snakecase on class names (except proto)\n- But used snakecase on function names \n\nused cpplint, which will be checked in CI level.  \n\n## Project\n\n### rsp-cli\nClient for connecting to svr. no GUI \n\n### rsp-svr\nServer for rsp\n\n#### User \nServer that works as gateway, and managed user session \n\n#### Room\nThe room server user entered\n\n#### Room_manager\nDetermines that a user which room should be assigned to enter.\n(load balancing, and match making)\n\n## Troubleshoot\n- objdump -S -f $file\n\n```bash\n./cmake.sh -D\n./build.sh\ngdb\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnolleh%2Frsp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnolleh%2Frsp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnolleh%2Frsp/lists"}