{"id":16298994,"url":"https://github.com/unitoftime/mmo","last_synced_at":"2025-10-25T13:31:27.137Z","repository":{"id":38473334,"uuid":"394448615","full_name":"unitoftime/mmo","owner":"unitoftime","description":"An initial attempt at building an MMO in Go","archived":true,"fork":false,"pushed_at":"2023-03-16T12:08:32.000Z","size":313,"stargazers_count":63,"open_issues_count":3,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-31T08:49:26.535Z","etag":null,"topics":["gamedev","golang"],"latest_commit_sha":null,"homepage":"","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/unitoftime.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":"2021-08-09T21:51:44.000Z","updated_at":"2025-01-27T08:03:53.000Z","dependencies_parsed_at":"2024-06-19T04:12:03.760Z","dependency_job_id":"cd6998b9-e856-4ad5-bf53-de1eb53f50ed","html_url":"https://github.com/unitoftime/mmo","commit_stats":null,"previous_names":["jstewart7/mmo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unitoftime%2Fmmo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unitoftime%2Fmmo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unitoftime%2Fmmo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unitoftime%2Fmmo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unitoftime","download_url":"https://codeload.github.com/unitoftime/mmo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238147606,"owners_count":19424292,"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","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":["gamedev","golang"],"created_at":"2024-10-10T20:46:13.746Z","updated_at":"2025-10-25T13:31:21.822Z","avatar_url":"https://github.com/unitoftime.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"`Note: I decided to try and turn this into a full-fledge game. Because of that, I started putting the gameplay part of the project in a private repository and stopped adding to this repository. I do still want to open source as much of my code as I can (without giving away the entire project), so I have several other open source repos that I moved a lot of code to:`\n1. `github.com/unitoftime/glitch` - Rendering\n2. `github.com/unitoftime/flow` - General game components features\n3. `github.com/unitoftime/ecs` - ECS framework\n4. You can also go here to see the repositories I have in my profile: [https://github.com/unitoftime](https://github.com/unitoftime)\n\n### Welcome!\nIf you are here, then you may have come from my tutorial series on YouTube. If not, you can go check it out:\n* [YouTube Playlist](https://www.youtube.com/playlist?list=PL_r0j2F4Hkj8KZ6jNJPCW3aDH--aWrn-T)\n* [YouTube Channel](https://www.youtube.com/channel/UCrcOrUcsMYRMqTfAy-IG0rg)\n\nIf you have any feedback let me know!\n\n### Compiling and Running\nGet the code\n```\ngo get github.com/unitoftime/mmo\n```\n\nThe current instructions are slightly complicated\n```\ncd cmd/\nmkdir build\n\nmake all\n# Everything should build - There will be one step where you generate a key, This is for the TLS connection between your client and proxy. You can leave all of the options blank (ie just hit enter until the key starts generating)\n\nbash run.sh\n# This will start the server, then the proxy, then launch a desktop client\n```\n\nIf you want to test the wasm you'll have to host the `build/` folder at some url. I use a simple go webserver to host my folder. Also, when you access the hosted URL, the browser will complain that the key at `localhost:port` isn't a part of any Certificate Authority. This is because you just manually generated the key. You have to skip the security check. Chrome had a way for me to allow arbitrary keys for localhost connections, so I enabled that.\n\nYou'll have to manually start the server and proxy binaries too:\n```\n# Shell 1\ncd cmd/build/ \u0026\u0026 ./server\n# Shell 2\ncd cmd/build/ \u0026\u0026 ./proxy\n# Shell 3\n# Whatever webserver command you use to serve it\n```\n\n### Licensing\n1. Code: MIT License.\n2. Artwork: All rights reserved.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funitoftime%2Fmmo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funitoftime%2Fmmo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funitoftime%2Fmmo/lists"}