{"id":15108383,"url":"https://github.com/warzone2100/warzone2100","last_synced_at":"2026-10-18T20:20:27.075Z","repository":{"id":1183709,"uuid":"1084181","full_name":"Warzone2100/warzone2100","owner":"Warzone2100","description":"Command the forces of The Project in a battle to rebuild the world after mankind has been nearly destroyed by nuclear missiles. A 100% free and open source real-time strategy game for Windows, macOS, Linux, BSD+","archived":false,"fork":false,"pushed_at":"2026-10-02T02:22:17.000Z","size":716912,"stargazers_count":3982,"open_issues_count":600,"forks_count":619,"subscribers_count":121,"default_branch":"master","last_synced_at":"2026-10-04T10:54:19.170Z","etag":null,"topics":["c-plus-plus","campaign","cheats","cmake","freebsd","game","games","internet","javascript","linux","mac","macos","multiplayer","open-source","real-time-strategy","rts","strategy-game","windows"],"latest_commit_sha":null,"homepage":"https://wz2100.net","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Warzone2100.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog","contributing":null,"funding":".github/FUNDING.yml","license":"COPYING","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null},"funding":{"github":"Warzone2100","open_collective":"warzone2100"}},"created_at":"2010-11-16T04:36:26.000Z","updated_at":"2026-10-04T06:46:16.000Z","dependencies_parsed_at":"2026-09-15T02:21:49.905Z","dependency_job_id":null,"html_url":"https://github.com/Warzone2100/warzone2100","commit_stats":{"total_commits":20060,"total_committers":182,"mean_commits":"110.21978021978022","dds":0.790877367896311,"last_synced_commit":"4468c15c751bb44959b1357f35f0a112dc1391de"},"previous_names":[],"tags_count":163,"template":false,"template_full_name":null,"purl":"pkg:github/Warzone2100/warzone2100","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Warzone2100%2Fwarzone2100","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Warzone2100%2Fwarzone2100/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Warzone2100%2Fwarzone2100/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Warzone2100%2Fwarzone2100/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Warzone2100","download_url":"https://codeload.github.com/Warzone2100/warzone2100/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Warzone2100%2Fwarzone2100/sbom","scorecard":{"id":149872,"data":{"date":"2025-08-11","repo":{"name":"github.com/Warzone2100/warzone2100","commit":"6438d020c51a11c72703d653f4bb8227eb943aec"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.2,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 7 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":2,"reason":"Found 3/14 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":2,"reason":"badge detected: InProgress","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: COPYING:0","Info: FSF or OSI recognized license: GNU General Public License v2.0: COPYING:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/CI_alpine.yml:29","Info: jobLevel 'contents' permission set to 'read': .github/workflows/CI_archlinux.yml:33","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/CI_emscripten.yml:178","Info: jobLevel 'contents' permission set to 'read': .github/workflows/CI_emscripten.yml:43","Info: jobLevel 'contents' permission set to 'read': .github/workflows/CI_fedora.yml:21","Info: jobLevel 'contents' permission set to 'read': .github/workflows/CI_fedora.yml:61","Info: jobLevel 'contents' permission set to 'read': .github/workflows/CI_flatpak.yml:45","Info: jobLevel 'contents' permission set to 'read': .github/workflows/CI_flatpak.yml:305","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/CI_flatpak.yml:368","Info: jobLevel 'contents' permission set to 'read': .github/workflows/CI_flatpak.yml:410","Info: jobLevel 'contents' permission set to 'read': .github/workflows/CI_linter.yml:15","Info: jobLevel 'packages' permission set to 'read': .github/workflows/CI_linter.yml:16","Warn: jobLevel 'statuses' permission set to 'write': .github/workflows/CI_linter.yml:18","Info: jobLevel 'contents' permission set to 'read': .github/workflows/CI_macos.yml:53","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/CI_macos.yml:219","Info: jobLevel 'contents' permission set to 'read': .github/workflows/CI_macos.yml:394","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/CI_snapcraft.yml:36","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/CI_ubuntu.yml:63","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/CI_ubuntu.yml:222","Info: jobLevel 'contents' permission set to 'read': .github/workflows/CI_ubuntu.yml:316","Info: jobLevel 'contents' permission set to 'read': .github/workflows/CI_windows.yml:860","Info: jobLevel 'actions' permission set to 'read': .github/workflows/CI_windows.yml:859","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/CI_windows.yml:944","Info: jobLevel 'contents' permission set to 'read': .github/workflows/CI_windows.yml:1004","Info: jobLevel 'contents' permission set to 'read': .github/workflows/CI_windows.yml:1083","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/CI_windows.yml:75","Info: jobLevel 'contents' permission set to 'read': .github/workflows/CI_windows.yml:671","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:16","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:17","Info: jobLevel 'contents' permission set to 'read': .github/workflows/crowdin_download_translations.yml:23","Info: jobLevel 'contents' permission set to 'read': .github/workflows/crowdin_upload_base.yml:22","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/draft_tag_release.yml:14","Info: jobLevel 'contents' permission set to 'read': .github/workflows/generate_snap_stable_config.yml:200","Info: jobLevel 'contents' permission set to 'read': .github/workflows/generate_snap_stable_config.yml:40","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/maintenance.yml:14","Info: jobLevel 'contents' permission set to 'read': .github/workflows/mirror_release_sourceforge.yml:26","Info: jobLevel 'contents' permission set to 'read': .github/workflows/publish_web_build.yml:47","Info: jobLevel 'contents' permission set to 'read': .github/workflows/release.yml:17","Info: jobLevel 'contents' permission set to 'read': .github/workflows/release.yml:53","Info: jobLevel 'contents' permission set to 'read': .github/workflows/release.yml:91","Warn: no topLevel permission defined: .github/workflows/CI_alpine.yml:1","Warn: no topLevel permission defined: .github/workflows/CI_archlinux.yml:1","Warn: no topLevel permission defined: .github/workflows/CI_emscripten.yml:1","Warn: no topLevel permission defined: .github/workflows/CI_fedora.yml:1","Warn: no topLevel permission defined: .github/workflows/CI_flatpak.yml:1","Warn: no topLevel permission defined: .github/workflows/CI_linter.yml:1","Warn: no topLevel permission defined: .github/workflows/CI_macos.yml:1","Warn: no topLevel permission defined: .github/workflows/CI_snapcraft.yml:1","Warn: no topLevel permission defined: .github/workflows/CI_ubuntu.yml:1","Warn: no topLevel permission defined: .github/workflows/CI_windows.yml:1","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Warn: no topLevel permission defined: .github/workflows/crowdin_download_translations.yml:1","Warn: no topLevel permission defined: .github/workflows/crowdin_upload_base.yml:1","Warn: no topLevel permission defined: .github/workflows/draft_tag_release.yml:1","Warn: no topLevel permission defined: .github/workflows/generate_snap_stable_config.yml:1","Warn: no topLevel permission defined: .github/workflows/maintenance.yml:1","Warn: no topLevel permission defined: .github/workflows/mirror_release_sourceforge.yml:1","Warn: no topLevel permission defined: .github/workflows/publish_web_build.yml:1","Warn: no topLevel permission defined: .github/workflows/release.yml:1"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Branch-Protection","score":3,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'master'","Info: 'force pushes' disabled on branch 'master'","Warn: branch 'master' does not require approvers","Warn: codeowners review is not required on branch 'master'","Warn: no status checks found to merge onto branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact 4.5.5 not signed: https://api.github.com/repos/Warzone2100/warzone2100/releases/185282176","Warn: release artifact 4.5.4 not signed: https://api.github.com/repos/Warzone2100/warzone2100/releases/184032813","Warn: release artifact 4.5.3 not signed: https://api.github.com/repos/Warzone2100/warzone2100/releases/174785636","Warn: release artifact 4.5.2 not signed: https://api.github.com/repos/Warzone2100/warzone2100/releases/170012431","Warn: release artifact 4.5.1 not signed: https://api.github.com/repos/Warzone2100/warzone2100/releases/164472089","Warn: release artifact 4.5.5 does not have provenance: https://api.github.com/repos/Warzone2100/warzone2100/releases/185282176","Warn: release artifact 4.5.4 does not have provenance: https://api.github.com/repos/Warzone2100/warzone2100/releases/184032813","Warn: release artifact 4.5.3 does not have provenance: https://api.github.com/repos/Warzone2100/warzone2100/releases/174785636","Warn: release artifact 4.5.2 does not have provenance: https://api.github.com/repos/Warzone2100/warzone2100/releases/170012431","Warn: release artifact 4.5.1 does not have provenance: https://api.github.com/repos/Warzone2100/warzone2100/releases/164472089"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Binary-Artifacts","score":0,"reason":"binaries present in source code","details":["Warn: binary detected: pkg/nsis/plugins/amd64-unicode/INetC.dll:1","Warn: binary detected: pkg/nsis/plugins/amd64-unicode/filecheck.dll:1","Warn: binary detected: pkg/nsis/plugins/amd64-unicode/nsisunz.dll:1","Warn: binary detected: pkg/nsis/plugins/arm64-unicode/INetC.dll:1","Warn: binary detected: pkg/nsis/plugins/arm64-unicode/filecheck.dll:1","Warn: binary detected: pkg/nsis/plugins/arm64-unicode/nsisunz.dll:1","Warn: binary detected: pkg/nsis/plugins/x86-ansi/INetC.dll:1","Warn: binary detected: pkg/nsis/plugins/x86-ansi/filecheck.dll:1","Warn: binary detected: pkg/nsis/plugins/x86-ansi/nsisunz.dll:1","Warn: binary detected: pkg/nsis/plugins/x86-unicode/INetC.dll:1","Warn: binary detected: pkg/nsis/plugins/x86-unicode/filecheck.dll:1","Warn: binary detected: pkg/nsis/plugins/x86-unicode/nsisunz.dll:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_alpine.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_alpine.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_archlinux.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_archlinux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_emscripten.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_emscripten.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_emscripten.yml:99: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_emscripten.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_emscripten.yml:156: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_emscripten.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_emscripten.yml:166: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_emscripten.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_emscripten.yml:189: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_emscripten.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_fedora.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_fedora.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_fedora.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_fedora.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_flatpak.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_flatpak.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_flatpak.yml:233: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_flatpak.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_flatpak.yml:238: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_flatpak.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_flatpak.yml:266: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_flatpak.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_flatpak.yml:275: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_flatpak.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_flatpak.yml:297: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_flatpak.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_flatpak.yml:314: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_flatpak.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_flatpak.yml:324: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_flatpak.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_flatpak.yml:330: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_flatpak.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_flatpak.yml:378: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_flatpak.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_flatpak.yml:450: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_flatpak.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_flatpak.yml:458: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_flatpak.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_linter.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_linter.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/CI_linter.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_linter.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_macos.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_macos.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_macos.yml:209: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_macos.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_macos.yml:226: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_macos.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_macos.yml:245: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_macos.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_macos.yml:303: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_macos.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_macos.yml:311: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_macos.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_macos.yml:368: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_macos.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_macos.yml:376: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_macos.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_macos.yml:403: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_macos.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_macos.yml:412: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_macos.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_snapcraft.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_snapcraft.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/CI_snapcraft.yml:107: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_snapcraft.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_snapcraft.yml:120: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_snapcraft.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_snapcraft.yml:129: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_snapcraft.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_ubuntu.yml:73: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_ubuntu.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_ubuntu.yml:180: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_ubuntu.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_ubuntu.yml:195: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_ubuntu.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_ubuntu.yml:205: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_ubuntu.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_ubuntu.yml:233: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_ubuntu.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_ubuntu.yml:290: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_ubuntu.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_ubuntu.yml:299: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_ubuntu.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_ubuntu.yml:325: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_ubuntu.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_ubuntu.yml:334: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_ubuntu.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_windows.yml:85: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_windows.yml:444: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_windows.yml:540: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_windows.yml:599: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_windows.yml:606: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_windows.yml:618: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_windows.yml:662: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_windows.yml:680: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_windows.yml:777: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_windows.yml:825: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_windows.yml:834: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_windows.yml:878: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_windows.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/CI_windows.yml:896: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_windows.yml:922: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_windows.yml:928: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_windows.yml:956: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_windows.yml:966: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_windows.yml:1013: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_windows.yml:1027: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_windows.yml:1037: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/CI_windows.yml:1056: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/CI_windows.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/crowdin_download_translations.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/crowdin_download_translations.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/crowdin_download_translations.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/crowdin_download_translations.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/crowdin_download_translations.yml:67: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/crowdin_download_translations.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/crowdin_upload_base.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/crowdin_upload_base.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/crowdin_upload_base.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/crowdin_upload_base.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/draft_tag_release.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/draft_tag_release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/generate_snap_stable_config.yml:67: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/generate_snap_stable_config.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/generate_snap_stable_config.yml:80: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/generate_snap_stable_config.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/generate_snap_stable_config.yml:87: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/generate_snap_stable_config.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/generate_snap_stable_config.yml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/generate_snap_stable_config.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/generate_snap_stable_config.yml:160: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/generate_snap_stable_config.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/generate_snap_stable_config.yml:189: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/generate_snap_stable_config.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/generate_snap_stable_config.yml:205: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/generate_snap_stable_config.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/generate_snap_stable_config.yml:212: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/generate_snap_stable_config.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/maintenance.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/maintenance.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish_web_build.yml:93: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/publish_web_build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:101: update your workflow using https://app.stepsecurity.io/secureworkflow/Warzone2100/warzone2100/release.yml/master?enable=pin","Warn: containerImage not pinned by hash: docker/alpine-latest/Dockerfile:1: pin your Docker image by updating alpine:latest to alpine:latest@sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1","Warn: containerImage not pinned by hash: docker/archlinux-latest/Dockerfile:1: pin your Docker image by updating archlinux:latest to archlinux:latest@sha256:104d24b4464e89a16566d3e68ce0e2707aa15258c690ee9bef755930e8bc1c2d","Warn: containerImage not pinned by hash: docker/cross-compile/dockerfile:1: pin your Docker image by updating ubuntu to ubuntu@sha256:a08e551cb33850e4740772b38217fc1796a66da2506d312abe51acda354ff061","Warn: containerImage not pinned by hash: docker/fedora-latest-m32/Dockerfile:2: pin your Docker image by updating fedora:41 to fedora:41@sha256:db46c636d4c0efee042f54d2155d138f3d9e764c6d24a856eb4f4f36c92279f8","Warn: containerImage not pinned by hash: docker/fedora-latest/Dockerfile:1: pin your Docker image by updating fedora:latest to fedora:latest@sha256:3da64cb89971a1cdbc6046e307eeebcb54f7281c0a606ee48d9995473f6b88d5","Warn: containerImage not pinned by hash: docker/opensuse-tw-latest/Dockerfile:1: pin your Docker image by updating opensuse/tumbleweed to opensuse/tumbleweed@sha256:0e4c04fc146f902394764fc1aca28918b2e9564800d08a7cfc37dcde1bf5353f","Warn: containerImage not pinned by hash: docker/ubuntu-16.04/Dockerfile:1: pin your Docker image by updating ubuntu:16.04 to ubuntu:16.04@sha256:1f1a2d56de1d604801a9671f301190704c25d604a416f59e03c04f5c6ffee0d6","Warn: containerImage not pinned by hash: docker/ubuntu-18.04/Dockerfile:1: pin your Docker image by updating ubuntu:18.04 to ubuntu:18.04@sha256:152dc042452c496007f07ca9127571cb9c29697f42acbfad72324b2bb2e43c98","Warn: containerImage not pinned by hash: docker/ubuntu-18.04/Dockerfile.arm64:1: pin your Docker image by updating arm64v8/ubuntu:18.04 to arm64v8/ubuntu:18.04@sha256:f97a5103cca28097326814718e711c9c41b54853c26959d73495e40b1dd608f2","Warn: containerImage not pinned by hash: docker/ubuntu-20.04/Dockerfile:1: pin your Docker image by updating ubuntu:20.04 to ubuntu:20.04@sha256:8feb4d8ca5354def3d8fce243717141ce31e2c428701f6682bd2fafe15388214","Warn: containerImage not pinned by hash: docker/ubuntu-20.04/Dockerfile.arm64:1: pin your Docker image by updating arm64v8/ubuntu:20.04 to arm64v8/ubuntu:20.04@sha256:0908a765aeb02fe4e564b543eaed1d77839b7a08de94041e24328b2cb62ac553","Warn: containerImage not pinned by hash: docker/ubuntu-22.04/Dockerfile:1: pin your Docker image by updating ubuntu:22.04 to ubuntu:22.04@sha256:1ec65b2719518e27d4d25f104d93f9fac60dc437f81452302406825c46fcc9cb","Warn: containerImage not pinned by hash: docker/ubuntu-22.04/Dockerfile.arm64:1: pin your Docker image by updating arm64v8/ubuntu:22.04 to arm64v8/ubuntu:22.04@sha256:7cb2f5c035fb2a5eb58a0f3a6548cf510f2b24a6e58caace5258d73a5d1bd0f2","Warn: containerImage not pinned by hash: docker/ubuntu-24.04/Dockerfile:1: pin your Docker image by updating ubuntu:24.04 to ubuntu:24.04@sha256:a08e551cb33850e4740772b38217fc1796a66da2506d312abe51acda354ff061","Warn: containerImage not pinned by hash: docker/ubuntu-24.04/Dockerfile.arm64:1: pin your Docker image by updating arm64v8/ubuntu:24.04 to arm64v8/ubuntu:24.04@sha256:65aa61e15eb6b7922512d071ca5db97bb5b36e7c0d621777c00cb6275bde3727","Warn: npmCommand not pinned by hash: .github/workflows/CI_emscripten.yml:103","Info:   0 out of  81 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   7 third-party GitHubAction dependencies pinned","Info:   0 out of   1 npmCommand dependencies pinned","Info:   0 out of  15 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}}]},"last_synced_at":"2025-08-16T10:19:54.853Z","repository_id":1183709,"created_at":"2025-08-16T10:19:54.853Z","updated_at":"2025-08-16T10:19:54.853Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344872684,"owners_count":38341182,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-18T02:00:06.448Z","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":["c-plus-plus","campaign","cheats","cmake","freebsd","game","games","internet","javascript","linux","mac","macos","multiplayer","open-source","real-time-strategy","rts","strategy-game","windows"],"created_at":"2024-09-25T22:01:39.259Z","updated_at":"2026-10-18T20:20:27.068Z","avatar_url":"https://github.com/Warzone2100.png","language":"C++","funding_links":["https://github.com/sponsors/Warzone2100","https://opencollective.com/warzone2100"],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cimg src=\"icons/warzone2100.large.png\" alt=\"Warzone 2100\"\u003e\n  \u003cbr /\u003e\n  Warzone 2100\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003eWarzone 2100 is a \u003cb\u003efree, open source, 3D real-time strategy game\u003c/b\u003e with a story-driven single-player campaign, online multi-player, offline skirmish, and more.\u003c/p\u003e\n\n# Highlights\n\n- Remastered single-player campaign with expanding persistent bases, away missions, and more\n- Online multiplayer with up to 10 players, free-for-all or team-play, for massive battles\n- Local skirmish with AI bots, for endless replayability\n- Extensive tech tree with over 400 different technologies\n- Customizable units with a flexible design system that enables a wide variety of possible tactics\n- Cross-platform multiplayer\n- Support for multiple graphics backends (OpenGL, OpenGL ES, Vulkan)\n- 100% free and open source\n\nFor more info, see: [Homepage of the Warzone 2100 Project](https://wz2100.net/)\n\n# Installation\n\n**Visit https://wz2100.net for the latest stable release for Windows, macOS and Linux.**\n\n\u003e Note for videos in Ubuntu: For important information during the game, download the videos manually. Assuming the game is installed in the standard `~/.local/share/` folder, use these commands:\n\u003e ```shell\n\u003e mkdir ~/.local/share/warzone2100\n\u003e wget https://github.com/Warzone2100/wz-sequences/releases/download/v3/standard-quality-en-sequences.wz -O ~/.local/share/warzone2100/sequences.wz\n\u003e ```\n\n# Origins\n\nWarzone 2100, was originally developed by Pumpkin Studios, and released in 1999 as a\nground-breaking and innovative 3D real-time strategy game.\n\nIn 2004, Eidos (in collaboration with Pumpkin Studios) decided to release the source for the game\nunder the terms of the GNU GPL - followed later by the remaining music \u0026 video files.\n\nIt has been developed, maintained, and improved by the community ever since, under the banner of\nthe “Warzone 2100 Project”.\n\n# State of the game\n\nAfter the liberation of the Warzone 2100 source-code on December 6th, 2004, all\nproprietary technologies have been replaced with open-source counterparts, and\nextensive improvements and additions have been made throughout while preserving\nwhat made the original release so great.\n\nDevelopment continues on GitHub, and bug reports \u0026 contributions are welcome!\n\n# Latest development builds\n\n[![Windows Build Status](https://img.shields.io/github/actions/workflow/status/Warzone2100/warzone2100/CI_windows.yml?branch=master\u0026label=Windows\u0026logo=windows)](https://github.com/Warzone2100/warzone2100/actions?query=workflow%3AWindows+branch%3Amaster+event%3Apush)\n [![macOS Build Status](https://img.shields.io/github/actions/workflow/status/Warzone2100/warzone2100/CI_macos.yml?branch=master\u0026label=macOS\u0026logo=apple)](https://github.com/Warzone2100/warzone2100/actions?query=workflow%3AmacOS+branch%3Amaster+event%3Apush)\n [![Ubuntu Build Status](https://img.shields.io/github/actions/workflow/status/Warzone2100/warzone2100/CI_ubuntu.yml?branch=master\u0026label=Ubuntu\u0026logo=ubuntu\u0026logoColor=FFFFFF)](https://github.com/Warzone2100/warzone2100/actions?query=workflow%3AUbuntu+branch%3Amaster+event%3Apush)\n [![Fedora Build Status](https://img.shields.io/github/actions/workflow/status/Warzone2100/warzone2100/CI_fedora.yml?branch=master\u0026label=Fedora\u0026logo=fedora\u0026logoColor=FFFFFF)](https://github.com/Warzone2100/warzone2100/actions?query=workflow%3AFedora+branch%3Amaster+event%3Apush)\n [![WebAssembly Build Status](https://img.shields.io/github/actions/workflow/status/Warzone2100/warzone2100/CI_emscripten.yml?branch=master\u0026label=WebASM\u0026logo=webassembly\u0026logoColor=FFFFFF)](https://github.com/Warzone2100/warzone2100/actions?query=workflow%3AEmscripten+branch%3Amaster+event%3Apush)\n [![FreeBSD Build Status](https://img.shields.io/cirrus/github/Warzone2100/warzone2100/master?label=FreeBSD\u0026logo=FreeBSD)](https://cirrus-ci.com/github/Warzone2100/warzone2100/master)\n [![Packaging status](https://repology.org/badge/tiny-repos/warzone2100.svg)](https://repology.org/project/warzone2100/versions)\n\n### Windows\n\nHow to get the latest Windows development builds:\n1. View the **[latest successful Windows builds](https://github.com/Warzone2100/warzone2100/actions?query=workflow%3AWindows+branch%3Amaster+event%3Apush+is%3Asuccess)**.\n2. Select the latest workflow run in the table / list.\n   This should display a list of **Artifacts** from the run.\n3. Download the `warzone2100_win_installer` artifact.\n\u003e Note: A free GitHub account is currently required to download the artifacts.\n\n### macOS\n\nHow to get the latest macOS development builds:\n1. View the **[latest successful macOS builds](https://github.com/Warzone2100/warzone2100/actions?query=workflow%3AmacOS+branch%3Amaster+event%3Apush+is%3Asuccess)**.\n2. Select the latest workflow run in the table / list.\n   This should display a list of **Artifacts** from the run.\n3. Download the `warzone2100_macOS_universal` or `warzone2100_macOS_universal_novideos` artifact (depending on whether you want the full app bundle or not).\n\u003e Note: A free GitHub account is currently required to download the artifacts.\n\n### Ubuntu\n\nHow to get the latest Ubuntu development builds:\n1. View the **[latest successful Ubuntu builds](https://github.com/Warzone2100/warzone2100/actions?query=workflow%3AUbuntu+branch%3Amaster+event%3Apush+is%3Asuccess)**.\n2. Select the latest workflow run in the table / list.\n   This should display a list of **Artifacts** from the run.\n3. Download the appropriate `warzone2100_ubuntu\u003cversion\u003e_amd64_deb` artifact.\n   - If you are running Ubuntu 22.04: `warzone2100_ubuntu22.04_amd64_deb`\n   - If you are running Ubuntu 24.04: `warzone2100_ubuntu24.04_amd64_deb`\n\u003e Note: A free GitHub account is currently required to download the artifacts.\n4. Extract the contents of the downloaded .zip (`warzone2100_ubuntu\u003cversion\u003e_amd64.deb`) to your Desktop.\n5. Execute the following commands in Terminal:\n```shell\ncd ~/Desktop\nsudo apt install ./warzone2100_ubuntu\u003cversion\u003e_amd64.deb\n```\n6. Download the video for crucial information during the game, for more see \"Videos\" section. Assuming the game is installed in the standard `~/.local/share/` folder, use this command (update `warzone2100-\u003cversion\u003e`):\n```shell\nwget https://github.com/Warzone2100/wz-sequences/releases/download/v3/standard-quality-en-sequences.wz -O ~/.local/share/warzone2100-\u003cversion\u003e/sequences.wz\n```\n\n### Linux (from source)\n\nClone this Git repo and build, following the instructions under:\n[How to Build](#how-to-build)\n\n\u003e Development builds are a snapshot of the current state of development, from the\n\u003e latest (successfully-built) commit. Help testing these builds is always welcomed,\n\u003e but they should be considered a work-in-progress.\n\n### Videos\nYou can download videos from [here](https://github.com/Warzone2100/wz-sequences/releases/tag/v3), or [here](https://sourceforge.net/projects/warzone2100/files/warzone2100/Videos/). You will need to rename the downloaded file to `sequences.wz`, and place it into your Warzone 2100 directory, as described above.\nNote that `.wz` files are just `.zip` in disguise, you can rename it and extract the content if wish to inspect them.\n\n# Reporting bugs\n\nThis game still has bugs and if you run into one, please use the GitHub bugtracker\n(https://github.com/Warzone2100/warzone2100/issues) to report the bug. In order to fix\nthose bugs more quickly, we require that you follow these rules:\n\n   1. If the game crashes you may save a memory dump. Please do so and upload it\n      when reporting the bug. (Linux locates that file at /tmp/warzone2100.gdmp,\n      Windows at /Program Files/Warzone 2100/warzone2100.RPT, macOS by\n      clicking \"Details\" in the crash error message)\n      A self created backtrace is just as useful.\n   2. Give as much information about what you were doing before the crash/bug\n      occurred.\n   3. Try to reproduce the bug and add a description of the process to your bug\n      report.\n   4. You may even upload save files. These consist of one file and\n      one folder. Both are named after your savegame (e.g. MySaveGame.gam and\n      the folder MySaveGame).\n   5. Bug reports are not submit-and-forget. It may be that you forgot some\n      information or forgot to upload a file. So it is also in your interest to\n      watch the bug-report after it has been submitted. Additionally, you can enable\n      e-mails of comments to your bug report.\n\n# Configuration\n\nWarzone 2100 uses its own subdirectory in a user's home directory to save\nconfiguration data, save files and certain other things. Additionally you can\nuse this directory to place custom maps and mods so the game can find them. The\nlocation of this directory depends on the operating system.\n\n\u003e [!TIP]\n\u003e The easy way to find the configuration directory is to:\n\u003e 1. Launch Warzone 2100\n\u003e 2. Click \"Options\"\n\u003e 3. Click the small \"Open Configuration Directory\" link in the bottom-left\n\n### Configuration file\n\nThe configuration file is just called 'config' and contains several configuration\noptions, some of them can be changed by using command-line options or using\nthe in-game menus, others can only be changed by editing the file manually.\n\nIf at any point you did something wrong, you can delete the old configuration\nfile and just restart Warzone 2100. Then the game will regenerate a new\nconfiguration file with default values.\n\n# Command-line options\n\nWarzone 2100 can be started with different options and arguments. For a list\nof these options, run the game with the --help option.\n\nNotes: These options all have two dashes (--), not one dash only (-). Also,\nif the option has an argument, you need to separate the option and its argument\nwith a '=' sign - spaces do not work.\n\nNote: Some options have corresponding entries in the configuration file and will\npersist from one start of Warzone 2100 to the next.\n\n# Multiplaying via internet\n\nThere are two methods to start a multiplayer game via the internet: using the host's\nIP or using the lobby server. Make sure you are able to communicate on TCP ports\n2100 and 9999. Note that for port forwarding, you only need to configure your\nrouter to forward port 2100.\n\nYou can choose whether to connect via Lobby or IP:\n\n* If you choose IP, Warzone 2100 asks you for the IP address of the host and\n  will try to connect to that IP.\n* If you choose Lobby, Warzone 2100 will connect to the lobby server, as long as\n  the lobby-server-address in your config file has not been changed.\n\nYou will see a list of games from which you can select.\n\nYou can kick unwanted players out of a game before it begins by clicking left on\nthem while holding the right mouse button.\n\nWhen you are hosting a game it will automatically be listed on the lobby server.\nIf you do not want your games to be listed on the lobby-server, you should\nchange the entry \"masterserver_name=lobby.wz2100.net\" in your config to some-\nthing invalid, for example: \"nomasterserverplease\".\n\nIf you then want to see the games that are listed on the lobby server you may\nenter \"lobby.wz2100.net\" when prompted to enter the host's IP or change the\nentry in the config file back. You will have to restart Warzone 2100 in order\nfor config changes to take effect.\n\n# Cheats\n\nWarzone 2100 has many built-in cheat codes:\n* [Warzone 2100 Cheats](doc/Cheats.md)\n\n# Modding information\n\nWarzone 2100 AI, maps and campaign can be scripted using JavaScript.\n\nLinks to further information\n* [Scripting](doc/Scripting.md)\n* [Model format](doc/PIE.md)\n* [Animation](doc/Animation.md)\n\n# How to build\n\n### Getting the Source\n\nTo properly build the game, either:\n- Download a release `tar.xz`, which contains all the source code and revision information.\n\n  _OR_\n\n- Clone the Git repo:\n  ```shell\n  git clone https://github.com/Warzone2100/warzone2100.git\n  cd warzone2100\n  git fetch --tags\n  git submodule update --init --recursive\n  ```\n  \u003e Note: Initializing submodules is required.\n\nDo **not** use GitHub's \"Download Zip\" option, as it **does not contain submodules** or the Git-based autorevision information.\n\n### Linux\n\n* Prerequisites\n   * Compiling tools (ex. CMake, GCC/G++/Clang, ninja-build)\n   * Archiving tools (ex. zip, p7zip)\n   * Various libraries:\n      * [SDL](https://www.libsdl.org) ≥ 3.2.12 _(strongly recommended: ≥ 3.2.26)_\n      * [PhysicsFS](https://icculus.org/physfs/) ≥ 2.1 _(strongly recommended: ≥ 3.0.2)_\n      * [libpng](https://www.libpng.org/pub/png/libpng.html) ≥ 1.2\n      * [libjpeg-turbo](https://github.com/libjpeg-turbo/libjpeg-turbo) ≥ 2.1\n      * [libtheora](https://theora.org)\n      * [libvorbis](https://xiph.org/vorbis)\n      * [libogg](https://xiph.org/ogg/)\n      * [libvpx](https://www.webmproject.org/code/)\n      * [opus](https://github.com/xiph/opus)\n      * [Freetype](https://www.freetype.org/) _(strongly recommended: ≥ 2.10.4)_\n      * [Harfbuzz](https://github.com/harfbuzz/harfbuzz) ≥ 1.0 _(strongly recommended: ≥ 3.3.0)_\n      * [fribidi](https://github.com/fribidi/fribidi)\n      * [OpenAL-Soft](https://openal-soft.org)\n      * [libcurl](https://curl.haxx.se/libcurl/) _(strongly recommended: ≥ 7.58.0)_\n      * [libsodium](https://github.com/jedisct1/libsodium) ≥ 1.0.16\n      * [SQLite](https://www.sqlite.org/index.html) ≥ 3.14\n      * [libzip](https://github.com/nih-at/libzip) _(strongly recommended: ≥ 1.10.1)_\n      * [libprotobuf](https://github.com/protocolbuffers/protobuf) (if compiling with GNS support)\n   * For language support: [Gettext](https://www.gnu.org/software/gettext/)\n   * To generate documentation: [Asciidoctor](https://asciidoctor.org) ≥ 1.5.3\n   * To build with Vulkan support: the full [Vulkan SDK](https://vulkan.lunarg.com/sdk/home) _(strongly recommended: ≥ 1.2.148.1)_\n* **Installing prerequisites:**\n   * Using `get-dependencies_linux.sh`:\n      1. Specify one of the linux distros supported by the script: (`ubuntu`, `fedora`, `alpine`, `archlinux`, `opensuse-tumbleweed`, `gentoo`, `debian`, `raspberrypios`) _REQUIRED_\n      2. Specify a mode: (`build-all` (default), `build-dependencies`) _OPTIONAL_\n\n      Example:\n      ```shell\n      sudo ./get-dependencies_linux.sh ubuntu build-dependencies\n      ```\n* **Building from the command-line:**\n   1. Starting from the _parent_ directory of the warzone2100 repository, create an [out-of-source](https://cmake.org/cmake/help/book/mastering-cmake/chapter/Getting%20Started.html#directory-structure) build directory:\n      ```shell\n      mkdir build\n      ```\n   2. Change directory into the `build` directory:\n      ```shell\n      cd build\n      ```\n   3. Run CMake configure to generate the build files:\n      ```shell\n      cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX:PATH=~/wz/install -GNinja ../warzone2100\n      ```\n      \u003e - [Modify the `CMAKE_INSTALL_PREFIX` parameter value as desired](https://cmake.org/cmake/help/latest/variable/CMAKE_INSTALL_PREFIX.html) to configure the base installation path.\n      \u003e - The `../warzone2100` path at the end should point to the warzone2100 repo directory. This example assumes that the repo directory and the build directory are siblings, and that the repo was cloned into a directory named `warzone2100`.\n   4. Run CMake build:\n      ```shell\n      cmake --build . --target install\n      ```\n\n### Windows using MSVC\n\nSee [platforms/windows/README-build.md](platforms/windows/README-build.md)\n\n### macOS\nSee [platforms/macos/README.md](platforms/macos/README.md)\n\n# Licensing\n\nWarzone 2100 is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\n\n[![SPDX-License-Identifier: GPL-2.0-or-later](https://img.shields.io/static/v1?label=SPDX-License-Identifier\u0026message=GPL-2.0-or-later\u0026color=blue\u0026logo=open-source-initiative\u0026logoColor=white\u0026logoWidth=10\u0026style=flat-square)](COPYING)\n\nMore information: [COPYING.README](COPYING.README), [COPYING.NONGPL](COPYING.NONGPL)\n\n# Special thanks\n\nFree code signing for Windows provided by [SignPath.io](https://signpath.io), certificate by [SignPath Foundation](https://signpath.org).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwarzone2100%2Fwarzone2100","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwarzone2100%2Fwarzone2100","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwarzone2100%2Fwarzone2100/lists"}