{"id":21420762,"url":"https://github.com/rgwohlbold/gameserver","last_synced_at":"2025-08-02T15:07:09.499Z","repository":{"id":148271417,"uuid":"141332998","full_name":"rgwohlbold/gameserver","owner":"rgwohlbold","description":"A server to remotely play games","archived":false,"fork":false,"pushed_at":"2019-07-04T06:04:42.000Z","size":1124,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2023-03-27T21:28:05.694Z","etag":null,"topics":["golang","server"],"latest_commit_sha":null,"homepage":null,"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/rgwohlbold.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}},"created_at":"2018-07-17T19:16:12.000Z","updated_at":"2024-06-19T06:37:51.223Z","dependencies_parsed_at":"2023-05-19T14:46:01.878Z","dependency_job_id":null,"html_url":"https://github.com/rgwohlbold/gameserver","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/rgwohlbold/gameserver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rgwohlbold%2Fgameserver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rgwohlbold%2Fgameserver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rgwohlbold%2Fgameserver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rgwohlbold%2Fgameserver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rgwohlbold","download_url":"https://codeload.github.com/rgwohlbold/gameserver/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rgwohlbold%2Fgameserver/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268408192,"owners_count":24245576,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"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":["golang","server"],"created_at":"2024-11-22T20:21:48.524Z","updated_at":"2025-08-02T15:07:09.316Z","avatar_url":"https://github.com/rgwohlbold.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gameserver\n## General\ngameserver is a program which you can use to remotely execute predefined programs. You can connect to it via ```telnet```.\n\n## Why?\nWe created some games in our AP Computer Programming class. \nBecause they were scattered among many different machines,\nI wanted to have something so you could connect to a server from a shell, choose the game you want to play, play a match and then disconnect.\nI heard about the cool concurrency features that Go offers and created this as a personal project.\n\n## Configuration\nThe default separator is , (comma), but you can use your own with the ```-s``` option.\nA config file is made of lines which each represent a game option when you connect onto the server.\nEach lines must have at least two parameters, separated by the separator.\nThe first parameter is the display name of the option. You see only this when you log in.\nThe second parameter is the program to execute when this option is selected. A program in the ```$PATH``` only needs its name to be written, for any other program, an absolute path has to be given.\nAny further parameters are arguments to the program.\n\n## Instructions\nYou can either build the server and run it locally or run it in a docker image.\n\nTo build it locally, run ```go build github.com/poshut/gameserver/cmd/gameserver``` to obtain the executable.\n\nTo use the docker image, run ```docker-compose up```.\nThe image uses Arch Linux, and you can add custom interpreters or runtimes with ```pacman -S --noconfirm```, for Java do: ```pacman -S --noconfirm jdk10-openjdk```.\n\n## Warning\n**DO NOT GIVE USERS ACCESS TO PROGRAMS THAT ALLOW ARBITRARY CODE EXECUTION, SUCH AS SHELLS, INTERACTIVE INTERPRETERS OR OTHER PROGRAMS.\nI DO NOT GIVE ANY WARRANTY THAT THIS PROGRAM WORKS AS INTENDED AND\nI DO NOT TAKE ANY LIABILITY FOR DAMAGES THAT OCCUR TO YOUR SYSTEM BECAUSE OF ANY REASON WHATSOEVER.**\n\n## TODO\n* Apply Go naming conventions\n* Add option to set current working directory in config file","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frgwohlbold%2Fgameserver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frgwohlbold%2Fgameserver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frgwohlbold%2Fgameserver/lists"}