{"id":15100130,"url":"https://github.com/js13kgames/the-circle-masters","last_synced_at":"2026-01-18T22:01:29.150Z","repository":{"id":82386404,"uuid":"148706578","full_name":"js13kGames/the-circle-masters","owner":"js13kGames","description":"the Circle Masters - a js13kGames 2018 competition entry by @MrDobi.","archived":false,"fork":false,"pushed_at":"2018-09-13T10:39:25.000Z","size":48,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-03T23:23:49.190Z","etag":null,"topics":["2018","competition","desktop","game","html5","javascript","js13k","js13kgames","js13kgames2018","mobile","offline","optimization","server","touch"],"latest_commit_sha":null,"homepage":"https://js13kgames.com/entries/the-circle-masters","language":"JavaScript","has_issues":false,"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/js13kGames.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}},"created_at":"2018-09-13T22:46:38.000Z","updated_at":"2022-10-13T02:19:35.000Z","dependencies_parsed_at":"2023-03-12T15:33:35.678Z","dependency_job_id":null,"html_url":"https://github.com/js13kGames/the-circle-masters","commit_stats":{"total_commits":3,"total_committers":1,"mean_commits":3.0,"dds":0.0,"last_synced_commit":"7b97e6860c8512fadad9353748b1ecb8fa0c3904"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/js13kGames/the-circle-masters","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/js13kGames%2Fthe-circle-masters","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/js13kGames%2Fthe-circle-masters/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/js13kGames%2Fthe-circle-masters/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/js13kGames%2Fthe-circle-masters/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/js13kGames","download_url":"https://codeload.github.com/js13kGames/the-circle-masters/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/js13kGames%2Fthe-circle-masters/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28552119,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T20:59:07.572Z","status":"ssl_error","status_checked_at":"2026-01-18T20:59:02.799Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["2018","competition","desktop","game","html5","javascript","js13k","js13kgames","js13kgames2018","mobile","offline","optimization","server","touch"],"created_at":"2024-09-25T17:45:27.132Z","updated_at":"2026-01-18T22:01:29.134Z","avatar_url":"https://github.com/js13kGames.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# js13kgames.com Game Server\n\nGame server for the [js13kGames Competition](http://js13kgames.com/).\n\n## Install\n\n[Download](https://github.com/js13kgames/js13kserver/archive/master.zip) the skeleton. Extract the files and install the third party libraries with `npm`. \n\n    npm install\n\n## Runinng\n\nYou can run the server locally with the following command:\n\n    npm start\n\nYou can reach the test server at [http://localhost:3000](http://localhost:3000)\n\n## Code structure\n\nAll your code must be in the `public` folder. Put your server side code into the `server.js` file. The `shared.js` file is loaded at the begining of the `server.js` file. You can also use this code on the client side.\n\nThe `server.js` is a standard Node.js module. You can use the following structure to create new [Express](https://expressjs.com/) routes or [Socket.io](https://socket.io/) connection handler.\n\n    module.exports = {\n        // Express route to /hello\n        hello =\u003e (req, res) { ... }\n        // Socket.io connection event handler\n        io =\u003e (socket) { ... }\n    }\n\n## Persistent storage\n\nThe server category entries can use 13kByte persistent storage. The key and value size also counts into the limit!\n\nThe storage uses SQL database to save the key/value pairs. By default it's SQLite but on Heroku you have to use the Postgres add-on!\n\nIn the `server.js` file you can access the `storage` interface. The API documentation is inside the [lib](./lib/) folder.\n\n## Deploy to Heroku\n\nAll server category entries must be hosted on [Heroku](https://www.heroku.com/). You can either use free or paid plan.\n\n1. Push your files to your GitHub repository\n2. Create new WebApp on heroku\n3. Add Heroku Postgres add-on (optional)\n4. Connect your WebApp with the GitHub repository\n5. Deploy your code \n\nYou can find more information about the platform on the [Heroku Dev Center](https://devcenter.heroku.com/) site.\n\n## Submit your entry\n\n1. Zip all files in the `public` folder.\n2. Submit your entry on the [js13kgames.com](http://js13kgames.com) site.\n3. Add [contact@js13kgames.com](mailto:contact@js13kgames.com) games as collaborator to your Heroku WebApp.\n\n## Server category rules\n\n* Sandbox server\n  - You can find the official sandbox server at [https://github.com/js13kGames/js13kserver](https://github.com/js13kGames/js13kserver).\n\n* Package size still below 13 kB\n  - Game package will contain all the game code and assets, for the client and the server.\n\n* Sandboxed environment\n  - Your game will run in a node.js based sandbox environment. That means you will not really use node. You cannot require modules and your own modules shipped by your 13k pack.\n\n* Do not leak the sandbox\n  - This is not a hacking competition. This is a way to help the competition admins, the site persistence, and you. Do not touch the `procfile` and the skeleton code. \n\n* Socket.io client lib\n  - You can use it. Simply add `\u003cscript src=\"/socket.io/socket.io.js\"\u003e\u003c/script\u003e` to your HTML and that will be loaded. No server configuration will be needed. The sandbox already did it.\n\n* Can I test the sandbox before submitting?\n  - Yes, you can and you must! Installing and getting it running is simple. Visit the project page at [https://github.com/js13kGames/js13kserver](https://github.com/js13kGames/js13kserver).\n\n* Is there any example? How do I develop my game using the sandbox server?\n  - There's a simple \"Rock, Paper, Scissors\" example in the public folder.\n\n* I have more questions!\n  - Feel free to send them to [server@js13kgames.com](mailto:server@js13kgames.com). \n\n## FAQ\n\n* Can I minify the server side code?\n  - Yes, but you have to keep the readable code also.\n\n* Can I add more npm packages?\n  - Yes, but you cannot use them in your game code.\n \n* What files count in the 13kb limit?\n  - All files in the `public` folder.\n\n* Can I deploy new code after I submited the entry?\n  - Yes, but you have to resubmit your entry on the site also.\n\n* Can I modify the `procfile` or the skeleton code?\n  - No\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjs13kgames%2Fthe-circle-masters","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjs13kgames%2Fthe-circle-masters","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjs13kgames%2Fthe-circle-masters/lists"}