{"id":19107286,"url":"https://github.com/govtechsg/fight-club","last_synced_at":"2026-05-29T20:30:15.595Z","repository":{"id":78493645,"uuid":"130196945","full_name":"GovTechSG/fight-club","owner":"GovTechSG","description":null,"archived":false,"fork":false,"pushed_at":"2018-11-14T08:17:20.000Z","size":82,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":23,"default_branch":"master","last_synced_at":"2025-01-03T03:13:05.055Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/GovTechSG.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-04-19T10:07:23.000Z","updated_at":"2018-11-14T08:17:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"f6157f3c-dd1f-4955-b214-27c13e48e98d","html_url":"https://github.com/GovTechSG/fight-club","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/GovTechSG%2Ffight-club","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GovTechSG%2Ffight-club/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GovTechSG%2Ffight-club/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GovTechSG%2Ffight-club/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GovTechSG","download_url":"https://codeload.github.com/GovTechSG/fight-club/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240161722,"owners_count":19757878,"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":[],"created_at":"2024-11-09T04:12:00.724Z","updated_at":"2026-05-29T20:30:15.323Z","avatar_url":"https://github.com/GovTechSG.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fight Club\n\nFight Club is a simple Demo Application to demonstrate containerization and communication between services.\n\n# Features:\n* Display Health bar for two sides, red team and blue team \n* Players should be able to hit either the red team or blue team.\n* Admin should be able to reset the game.\n\n# TODO:\n* Show game statistics, such as player with the highest number of hits, double agents, etc...\n* Show backend application statistics, such as backend replica used in hits, app metrics, etc...\n* Upload and Select pictures for use in-game\n* Timed games\n* Combo meter and combo attacks\n\n# Environment Variables\n## Game Master Variables\nThe following is a list of environment variables applicable to game masters only.\n* GAME_DAMAGE_CONTROLLER_PROTOCOL: The protocol used by the Damage Controller server.\n* GAME_DAMAGE_CONTROLLER_HOST: Host URI of Damage Controller server.\n* GAME_DAMAGE_CONTROLLER_PORT: Port of Damage Controller server.\n\nExample (http://damagecontroller.domain.com:3000):\n```$xslt\nGAME_DAMAGE_CONTROLLER_PROTOCOL=http\nGAME_DAMAGE_CONTROLLER_HOST=damagecontroller.domain.com\nGAME_DAMAGE_CONTROLLER_PORT=3000\n```\n* STARTING_HP: Indicates how much HP at the start. ONLY applicable to game master\n```$xslt\nSTARTING_HP=100\n```\n\n## Damage Controller Variables\n* HIT_POINT: Indicates how much points does each hit will incur. ONLY applicable to damage controller.\n```$xslt\nHIT_POINT=1\n```\n\n## Common Variables\n* NODE_ENV: Determines what config to load. For example, if the value is development, the configuration config/development.js will be read.\n\nExample:\n```$xslt\nNODE_ENV=development\n```\n\n* GAME_SERVER_OPTS_SERVER_TYPE: Indicates what role(s) this server is. Can be either gamemaster or damagecontroller or both (delimited by ',').\n\nExample:\n```$xslt\nGAME_SERVER_OPTS_SERVER_TYPE=gamemaster,damagecontroller\n```\n\n* SERVER_PORT: Indicates what port should this server be listening at.\n\nExample:\n```$xslt\nSERVER_PORT=3000\n```\n\n* REDIS_URI: URI of Redis server. Note that Game Master and Damage Controller have to point to same Redis server.\n* REDIS_DB_INDEX: The redis DB index to use.\nExample:\n```$xslt\nREDIS_URI=redis://localhost:6379\nREDIS_DB_INDEX=0\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgovtechsg%2Ffight-club","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgovtechsg%2Ffight-club","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgovtechsg%2Ffight-club/lists"}