{"id":31707107,"url":"https://github.com/sorebit/io-communication-server","last_synced_at":"2026-05-18T04:06:04.783Z","repository":{"id":92838380,"uuid":"406697957","full_name":"Sorebit/io-communication-server","owner":"Sorebit","description":"TCP server for a uni project game","archived":false,"fork":false,"pushed_at":"2021-09-15T10:10:03.000Z","size":27,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-08T23:51:32.361Z","etag":null,"topics":["nodejs","tcp-server"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sorebit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2021-09-15T09:32:00.000Z","updated_at":"2021-09-15T10:10:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"47af29a4-a564-49f3-a836-db4c1491ffd1","html_url":"https://github.com/Sorebit/io-communication-server","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Sorebit/io-communication-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sorebit%2Fio-communication-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sorebit%2Fio-communication-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sorebit%2Fio-communication-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sorebit%2Fio-communication-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sorebit","download_url":"https://codeload.github.com/Sorebit/io-communication-server/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sorebit%2Fio-communication-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33164672,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-17T22:39:12.733Z","status":"online","status_checked_at":"2026-05-18T02:00:06.436Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["nodejs","tcp-server"],"created_at":"2025-10-08T23:50:36.448Z","updated_at":"2026-05-18T04:06:04.778Z","avatar_url":"https://github.com/Sorebit.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TCP server used as part of uni team-project\n\n\u003e Basically, the project was a modular game where bots compete against each other in simple team matches.\n\u003e Each team developed a server (this repo), a Game Master (a client handling game logic), and Agents (bots playing the game).\n\u003e \n\u003e Then a tournament would be played to tell which team won. There were rounds where each team would provide their modules\n\u003e and if it handled games correctly, points scored by teams of bots would be summed up to determine the ultimate winner.\n\u003e \n\u003e Pretty complicated.\n\n## Features\n\n- Communication with other modules over **TCP**\n- Logs (winston)\n    - colorful in tty (chalk)\n    - as json in log file\n- [Tests](./test) (mocha)\n- Implemented as a Finite State Machine\n- *Probably* extendable to support other usecases\n\n## Usage\n\n- `npm install` - install dependencies.\n- `npm test` - run tests.\n- `npm start` - launch the server.\n- `npm run debug` - launch the server in debug mode.\n- Extra: `ncat localhost \u003cport\u003e` - launch dumb netcat client.\n\n### Config\n\n- `agentPort` - port used by **players**.\n- `masterPort` - port used by **GameMaster**.\n- `maxConnections` - max simultaneous **agent connections**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsorebit%2Fio-communication-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsorebit%2Fio-communication-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsorebit%2Fio-communication-server/lists"}