{"id":36444047,"url":"https://github.com/thijzert/chesseract","last_synced_at":"2026-01-11T22:02:29.452Z","repository":{"id":57620058,"uuid":"383809512","full_name":"thijzert/chesseract","owner":"thijzert","description":"Chesseract is a multiplayer 4D chess game. (Which currently only supports regular boring \"2D\" chess, but we'll fix that.)","archived":false,"fork":false,"pushed_at":"2021-09-30T21:31:49.000Z","size":3803,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-06-20T15:41:56.756Z","etag":null,"topics":["game","game-engine","hyperspace"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thijzert.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}},"created_at":"2021-07-07T13:33:19.000Z","updated_at":"2022-11-07T12:39:51.000Z","dependencies_parsed_at":"2022-09-16T19:12:12.477Z","dependency_job_id":null,"html_url":"https://github.com/thijzert/chesseract","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/thijzert/chesseract","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thijzert%2Fchesseract","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thijzert%2Fchesseract/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thijzert%2Fchesseract/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thijzert%2Fchesseract/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thijzert","download_url":"https://codeload.github.com/thijzert/chesseract/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thijzert%2Fchesseract/sbom","scorecard":{"id":881110,"data":{"date":"2025-08-11","repo":{"name":"github.com/thijzert/chesseract","commit":"15314ef07757a1d6b9acaedc346d882682551845"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","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":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/compile_mermaid.yaml:1","Warn: no topLevel permission defined: .github/workflows/go.yml:1","Warn: no topLevel permission defined: .github/workflows/release_version.yaml:1","Info: no jobLevel write permissions found"],"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":"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":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: BSD 3-Clause \"New\" or \"Revised\" License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":4,"reason":"dependency not pinned by hash detected -- score normalized to 4","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/compile_mermaid.yaml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/thijzert/chesseract/compile_mermaid.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/compile_mermaid.yaml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/thijzert/chesseract/compile_mermaid.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/go.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/thijzert/chesseract/go.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/go.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/thijzert/chesseract/go.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/go.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/thijzert/chesseract/go.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release_version.yaml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/thijzert/chesseract/release_version.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release_version.yaml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/thijzert/chesseract/release_version.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release_version.yaml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/thijzert/chesseract/release_version.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release_version.yaml:69: update your workflow using https://app.stepsecurity.io/secureworkflow/thijzert/chesseract/release_version.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release_version.yaml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/thijzert/chesseract/release_version.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release_version.yaml:92: update your workflow using https://app.stepsecurity.io/secureworkflow/thijzert/chesseract/release_version.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release_version.yaml:95: update your workflow using https://app.stepsecurity.io/secureworkflow/thijzert/chesseract/release_version.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release_version.yaml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/thijzert/chesseract/release_version.yaml/main?enable=pin","Info:   0 out of  12 GitHub-owned GitHubAction dependencies pinned","Info:   3 out of   4 third-party GitHubAction 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"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v0.3.1 not signed: https://api.github.com/repos/thijzert/chesseract/releases/49626242","Warn: release artifact v0.2.0 not signed: https://api.github.com/repos/thijzert/chesseract/releases/48819718","Warn: release artifact v0.1.0 not signed: https://api.github.com/repos/thijzert/chesseract/releases/46211378","Warn: release artifact v0.0.1c not signed: https://api.github.com/repos/thijzert/chesseract/releases/46019501","Warn: release artifact v0.3.1 does not have provenance: https://api.github.com/repos/thijzert/chesseract/releases/49626242","Warn: release artifact v0.2.0 does not have provenance: https://api.github.com/repos/thijzert/chesseract/releases/48819718","Warn: release artifact v0.1.0 does not have provenance: https://api.github.com/repos/thijzert/chesseract/releases/46211378","Warn: release artifact v0.0.1c does not have provenance: https://api.github.com/repos/thijzert/chesseract/releases/46019501"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"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":"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"}}]},"last_synced_at":"2025-08-24T08:14:26.887Z","repository_id":57620058,"created_at":"2025-08-24T08:14:26.887Z","updated_at":"2025-08-24T08:14:26.887Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28324844,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-11T18:42:50.174Z","status":"ssl_error","status_checked_at":"2026-01-11T18:39:13.842Z","response_time":60,"last_error":"SSL_read: 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":["game","game-engine","hyperspace"],"created_at":"2026-01-11T22:02:29.384Z","updated_at":"2026-01-11T22:02:29.438Z","avatar_url":"https://github.com/thijzert.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Chesseract\n![Build Status](https://github.com/thijzert/chesseract/actions/workflows/go.yml/badge.svg)\n\nChesseract is a multiplayer 4D chess game.\n\n## Running\nCheck the Releases page for the latest version for your platform.\n\n### Running a multiplayer server\nTo set up a multiplayer server, use the following command:\n\n    chesseract server -listen 0.0.0.0:36819\n\nSince setting up an account is not yet implemented, it may be conducive to one's enjoyment to pre-populate the internal storage backend with some default accounts. For the `dory` backend, this can be done by supplying it with the `northwind` parameter, like so:\n\n    chesseract server -listen 0.0.0.0:36819 -storage dory:northwind\n\n\"Northwind mode\" automatically creates two users, `alice` and `bob`.\n\n### Playing in the terminal\nTo connect to a multiplayer server, use the following command: (replace values with the IP of your multiplayer server and your username)\n\n    chesseract client -server=http://192.168.XX.YY:36819 -username=USER\n\nThis connects to a game in your terminal window. To move a piece, enter its current and target position, separated by a space. (E.g.: `e2 e4` or `e7 e5`.)\n\n### OpenGL version\nTo connect to a multiplayer server, use the following command: (replace values with the IP of your multiplayer server and your username)\n\n    chesseract client -server=http://192.168.XX.YY:36819 -username=USER\n\nThis opens an OpenGL window that renders the current chess board. Use W-A-S-D to rotate your view, and enter moves in the terminal window like you would in a terminal-based game. (Note: this is not the intended final gameplay experience.)\n\n## Screenshots\n\u003cimg alt=\"Note: currently, only 2D chess is supported (partially), but this can be scaled up to 4D.\" src=\".readme/screenshot.jpeg\" width=\"60%\" /\u003e\n\n## Building from source\nChesseract is built using the [Go](https://golang.org/) programming language. See their website for installation instructions specific to your platform. Building has been tested with Go 1.17, but some earlier versions probably work fine.\n\nMake sure dependencies are installed, using one of:\n\n    sudo apt-get install build-essential libgl1-mesa-dev\n    sudo pacman -Sy base-devel\n    xcode-select --install\n\nClone the repository, and run:\n\n    go get ./...\n    go run build.go\n\nThis will compile the project and place it in the `build/` directory.\n\n### Development build\nBy default, the `build.go` script statically embeds all assets in the target binary. To speed up development, the build script can also create a version that loads assets from the file system, enabling one to change local assets without having to recompile. For that, run:\n\n    go run build.go --development --quick\n\nFurthermore, the build script can watch the repository for changes, and recompile as soon as any code changes:\n\n    go run build.go --watch\n\nFinally, the build script can automatically run the binary if compilation was successful. For example, to continuously run a server that gets restarted when the code changes, run:\n\n    go run build.go --development --quick --watch --run -- server -listen=localhost:8080\n\n(When using `--run`, all arguments after `--` are passed to the compiled program.)\n\n## License\nThis program and its source code are available under the terms of the BSD 3-clause license. Find out what that means here: https://www.tldrlegal.com/l/bsd3\n\nAll assets I made for this project (e.g. 3D models) are available under a [CC BY-NC-SA](https://tldrlegal.com/license/creative-commons-attribution-noncommercial-sharealike-4.0-international-(cc-by-nc-sa-4.0)#summary) license.\n\n### Acknowledgements\nThe GL client is built using the [go-gl](https://github.com/go-gl/gl) library, which is released under the MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthijzert%2Fchesseract","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthijzert%2Fchesseract","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthijzert%2Fchesseract/lists"}