{"id":26659190,"url":"https://github.com/dsnidr/refractor-v1","last_synced_at":"2026-05-07T13:13:12.794Z","repository":{"id":52469162,"uuid":"335020095","full_name":"dsnidr/Refractor-V1","owner":"dsnidr","description":"Old version of the Refractor game server community management panel with support for multiple games. See README for new repo.","archived":false,"fork":false,"pushed_at":"2023-08-22T00:15:45.000Z","size":1304,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-11T15:52:54.187Z","etag":null,"topics":["games","go","golang","rcon","react","reactjs","servers"],"latest_commit_sha":null,"homepage":"","language":"Go","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/dsnidr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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":"2021-02-01T16:55:43.000Z","updated_at":"2021-10-20T23:56:53.000Z","dependencies_parsed_at":"2025-06-06T21:35:10.384Z","dependency_job_id":"f450ccde-dcf6-4f9b-9fe0-dea14d2d77b5","html_url":"https://github.com/dsnidr/Refractor-V1","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dsnidr/Refractor-V1","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsnidr%2FRefractor-V1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsnidr%2FRefractor-V1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsnidr%2FRefractor-V1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsnidr%2FRefractor-V1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dsnidr","download_url":"https://codeload.github.com/dsnidr/Refractor-V1/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsnidr%2FRefractor-V1/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271143398,"owners_count":24706346,"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-19T02:00:09.176Z","response_time":63,"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":["games","go","golang","rcon","react","reactjs","servers"],"created_at":"2025-03-25T10:18:36.152Z","updated_at":"2026-05-07T13:13:07.767Z","avatar_url":"https://github.com/dsnidr.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Refractor (Deprecated)\n\n![Latest Version Tag](https://img.shields.io/github/v/tag/sniddunc/refractor?label=version\u0026style=flat-square)\n![License](https://img.shields.io/github/license/sniddunc/refractor?style=flat-square)\n![Lines of Code](https://img.shields.io/tokei/lines/github/sniddunc/refractor?label=lines%20of%20code\u0026style=flat-square)\n![Contributors](https://img.shields.io/github/contributors/sniddunc/refractor?color=%2397CA00\u0026style=flat-square)\n[![Gitter](https://img.shields.io/gitter/room/Sniddunc/Refractor?style=flat-square)](https://gitter.im/refractor-app/community)\n\nA game server community management panel written in Go and React.\n\n\u003e # This version of Refractor is deprecated. It has been replaced by [RefractorGSCM/Refractor](https://github.com/RefractorGSCM/Refractor), a rewrite with many new features and improvements.\n\n## Features\n\n- Easy installation with Docker\n- Support for Mordhau and Minecraft\n- Real time server player list\n- Player infraction logging (warnings, mutes, kicks and bans)\n- Player summary lookup\n- Player search\n- Infraction search\n- Real-time chat\n- Support for multiple servers and users\n- User access control\n- and more!\n\n## Supported Games\n\nThe following games are currently supported:\n\n- Mordhau\n- Minecraft\n\n# Installing with Docker\n\nDocker is the recommended installation method. It is by far the easiest method and it takes care of TLS and API proxying for you.\n\nInstallation on a fresh machine is recommended, as there will likely be conflicts when installing on a machine which already hosts a web server.\n\nIf you decide to install manually, **please make sure you encrypt your traffic properly**. It not only protects you, but also your users and players. It is very important that you always encrypt your traffic.\n\n## 1. Requirements\n\nYou require a valid domain name which points to the machine you're installing Refractor on.\n\nYou also need to have Docker and Docker Compose installed. You can find installation steps for your specific system at the following two links:\n\n[Install Docker Engine](https://docs.docker.com/engine/install/)\n\n[Install Docker Compose](https://docs.docker.com/compose/install/)\n\nAdditioanlly, Refractor needs access to a MySQL database. Depending on who hosts your game server, you might already have one at your disposal. Check your game server's control panel.\n\nIf you have a MySQL database you can use, skip to step 2.\n\n### Creating a MySQL Docker container\n\nIf you don't yet have a MySQL database, you can install one on the same machine as Refractor. The recommended way to do this is with Docker. With Docker already installed, you can run the following command to set up a MySQL server container:\n\n```zsh\ndocker run --name mysql --restart unless-stopped --network host \\\n  -e MYSQL_ROOT_HOST='0.0.0.0'  -e MYSQL_ROOT_PASSWORD='strongpassword' \\\n  -d mysql/mysql-server:latest\n```\n\n**Make sure you replace `strongpassword` with a strong password.** This is the password for your database's root user, so it's very important that it's secure.\n\nOnce this command is done executing, run the following command:\n\n```zsh\nsudo docker ps\n```\n\nYou should see your new MySQL container listed there, and it's status should say that it's up.\n\nNow you need to create your database within your new MySQL installation. To open a session with your MySQL server, use the following command:\n\n```zsh\ndocker exec -it mysql mysql -u root -p\n```\n\nThe first `mysql` is the name of your Docker container. The second is the mysql command available in the container. `-u` is where you specify your username and `-p` tells the server that you'll provide a password.\n\nIt should ask you for your password. Once you enter it, you should be presented with a MySQL prompt and see something like: `mysql\u003e`.\n\nYou can now create a database by typing the following command:\n\n```sql\nCREATE DATABASE refractor;\n```\n\nThis will create a new database called refractor.\n\n### Creating an additional user\n\nFor security reasons, it's best not to run applications right from the root user. Instead, you should create an additional user. You can do this using the following command from inside the MySQL prompt:\n\n```sql\nCREATE USER refractor IDENTIFIED BY 'password';\n```\n\n`refractor` is the name of the new user and `password` is the new user's password.\n\nNext, you need to give this user permissions on the database you created previously. You can do this with the following command:\n\n```sql\nGRANT ALL PRIVILEGES ON refractor.* TO refractor;\n```\n\nThe first `refractor` is the name of the database which you're assigning the new user's privileges on. The second `refractor` is the name of your new user. This will grant the user all permissions.\n\nNow, just flush the permissions to make them take effect.\n\n```sql\nFLUSH PRIVILEGES;\n```\n\n## 2. Cloning the Repository\n\nOnce you have Docker installed, it's time to pull the code from this repository. Use git to clone this repository to a location of your choice.\n\n```zsh\ngit clone https://github.com/Sniddunc/Refractor.git\ncd Refractor\n```\n\n## 3. Running the setup script\n\n\u003e If you are a on a system with low memory (1gb or less) you may want to create a swapfile. See Troubleshooting below under section \"**The installation hangs, freezes up my server or just takes forever**\"\n\nInside the directory you cloned, you should see a file called `setup.sh`.\n\nThis file should already be executable, but if it isn't then you can run the following command to make it executable.\n\n```zsh\nchmod +x setup.sh\n```\n\nThen, you can simply run the `setup.sh` script.\n\n```zsh\n./setup.sh\n```\n\n\u003e It's a good idea to do a test run before generating a proper SSL certificate. To do this, edit `setup.sh` and change the value of the `staging` variable near the top of the file to 1 before running the script. Once you've run through the install and are confident that everything is working properly, change the value of staging back to 0. This is entirely optional, but highly recommended.\n\nFollow the instructions in the setup script. Provide your domain name, email address and then enter your MySQL database's credentials.\n\nOnce this is done, the docker images for the various components of Refractor will be built. You will likely see lots of text appearing on your screen as everything gets installed. This is perfectly normal.\n\nThis installation could take a good amount of time to complete, so be patient!\n\nOnce the installation is complete, navigate to your domain and you should be presented with the Refractor login screen. If you enter the credentials you provided for the initial user, you should be able to log in.\n\nYou're all set. Enjoy Refractor!\n\n## Troubleshooting\n\n### **The installation hangs, freezes up my server or just takes forever**\n\nThis issue is often caused by a lack of system memory during the build process of the React client. If you are on a low memory system (1gb or less) then you may consider creating a swapfile of 1gb or more to help along the build process. Research how to create a swapfile for your Linux distribution for more information.\n\n### **Too many certificates already issued for exact set of domains**\n\nLet's Encrypt (the service used to handle our certificates) has rate limiting. If you get this error, you have requested too many certificates in their rate limiting timeframe. More info can be found (here)[https://letsencrypt.org/docs/rate-limits/].\n\n### **Challenge failed / Some challenges have failed**\n\nThis is likely because the domain record you're using has not yet been fully propagated. Domain changes can take up to 48 hours to propagate fully. You should re-try the installation in at least a few hours, if not longer.\n\n\u003e If you ran into and resolved any issues during the installation which you think others may run into, feel free to add a section under troubleshooting and submit a PR.\n\n# License\n```\nRefractor is an open source game server community management application.\nCopyright (C) 2021  Duncan Snider\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program.  If not, see \u003chttps://www.gnu.org/licenses/\u003e.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsnidr%2Frefractor-v1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdsnidr%2Frefractor-v1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsnidr%2Frefractor-v1/lists"}