{"id":19061492,"url":"https://github.com/wwitzel3/agones-websocket","last_synced_at":"2025-04-24T07:29:44.242Z","repository":{"id":139580583,"uuid":"140913496","full_name":"wwitzel3/agones-websocket","owner":"wwitzel3","description":"A simple websocket example using GoogleCloudPlatform/agones (agones.dev)","archived":false,"fork":false,"pushed_at":"2018-07-15T11:55:25.000Z","size":22087,"stargazers_count":15,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-30T08:08:05.664Z","etag":null,"topics":["agones","go","vuejs"],"latest_commit_sha":null,"homepage":"","language":"Go","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/wwitzel3.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-07-14T03:41:31.000Z","updated_at":"2024-11-17T14:38:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"5266fe3b-44c2-4df0-80e1-39e4b9504019","html_url":"https://github.com/wwitzel3/agones-websocket","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wwitzel3%2Fagones-websocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wwitzel3%2Fagones-websocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wwitzel3%2Fagones-websocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wwitzel3%2Fagones-websocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wwitzel3","download_url":"https://codeload.github.com/wwitzel3/agones-websocket/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250582656,"owners_count":21453896,"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":["agones","go","vuejs"],"created_at":"2024-11-09T00:22:06.201Z","updated_at":"2025-04-24T07:29:44.237Z","avatar_url":"https://github.com/wwitzel3.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"![agones-simple-demo](agones-simple.gif)\n\nThis is for exploring GoogleCloudPlatform agones.\n\nMore info at https://github.com/GoogleCloudPlatform/agones.\n\nThis example is a simple Ping/Pong websocket example.\nThe websocket could be used to stream game data to a JS game client.\n\nGKE\n===\nStart a new cluster. I just use the defaults. Run the `gcloud` command to add the cluster to your kubeconfig.\n\n```\nkubectl create clusterrolebinding serviceaccounts-cluster-admin \\\n  --clusterrole=cluster-admin \\\n  --group=system:serviceaccounts\n```\n\n```\nkubectl create clusterrolebinding cluster-admin-binding \\\n  --clusterrole cluster-admin --user `gcloud config get-value account`\n```\n\n```\n gcloud compute firewall-rules create game-server-firewall \\\n  --allow tcp:7000-8000 \\\n  --description \"agones-simple example firewall to allow game server tcp traffic\"\n```\n\nInstall agones\n==============\n\n`kubectl apply -f https://github.com/GoogleCloudPlatform/agones/raw/release-0.2.0/install/yaml/install.yaml`\n\nBuilding\n========\n\nFind and replace `YOUR_PROJECT_ID` in the Go and YAML files with your `gcr.io` repository project ID. I used the same project that my GKE cluster was created in to make accessing the image repository easy.\n\n`sed -i 's/YOUR_PROJECT_ID/example-123456/g' *`\n\n`make build`\n\n`make build-image`\n\nPush Images\n===========\n\n`make push-image`\n\nDeploying\n=========\n\n`kubectl apply -f yaml/launcher.yaml`\n\n`kubectl get -n simple-launcher service`\n\nTesting\n=======\nNow visit the simple-launcher service. You should see a link to create a new gameserver. After clicking the link, a new gameserver will be created.\n\nThe details for the gameserver will load and you will get another link to access the new gameserver instance.\n\nThe gameserver instance is a VueJs/WebSocket single page that has a Ping/Pong app that talks to the gameserver. It also has a button for stoppind the gameserver.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwwitzel3%2Fagones-websocket","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwwitzel3%2Fagones-websocket","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwwitzel3%2Fagones-websocket/lists"}