{"id":27127695,"url":"https://github.com/codenametwister/gdanti-cheats","last_synced_at":"2026-03-02T11:01:57.531Z","repository":{"id":259345440,"uuid":"877155616","full_name":"CodeNameTwister/GDAnti-Cheats","owner":"CodeNameTwister","description":"My version of anti-cheats adapted for godot as plugin","archived":false,"fork":false,"pushed_at":"2025-05-13T17:51:09.000Z","size":576,"stargazers_count":8,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-13T18:42:45.086Z","etag":null,"topics":["anticheat","godot"],"latest_commit_sha":null,"homepage":"","language":"GDScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CodeNameTwister.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","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,"zenodo":null},"funding":{"ko_fi":"cntwister","buy_me_a_coffee":"twister"}},"created_at":"2024-10-23T07:23:27.000Z","updated_at":"2025-05-13T17:51:12.000Z","dependencies_parsed_at":"2024-10-24T17:11:23.634Z","dependency_job_id":"ee96ee0a-19b4-402b-a228-da4bd7e99c6a","html_url":"https://github.com/CodeNameTwister/GDAnti-Cheats","commit_stats":null,"previous_names":["codenametwister/gdanti-cheats"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/CodeNameTwister/GDAnti-Cheats","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeNameTwister%2FGDAnti-Cheats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeNameTwister%2FGDAnti-Cheats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeNameTwister%2FGDAnti-Cheats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeNameTwister%2FGDAnti-Cheats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CodeNameTwister","download_url":"https://codeload.github.com/CodeNameTwister/GDAnti-Cheats/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeNameTwister%2FGDAnti-Cheats/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29999221,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-02T09:59:02.300Z","status":"ssl_error","status_checked_at":"2026-03-02T09:59:02.001Z","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":["anticheat","godot"],"created_at":"2025-04-07T17:57:33.515Z","updated_at":"2026-03-02T11:01:57.514Z","avatar_url":"https://github.com/CodeNameTwister.png","language":"GDScript","funding_links":["https://ko-fi.com/cntwister","https://buymeacoffee.com/twister"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg width=\"200\" height=\"200\" src=\"addons/gd_anti_cheats/icon.png\"\u003e\n\u003c/p\u003e\n\n# GDAnti-Cheats\n\nThis is my version of anti-cheats adapted for [Godot Engine] as plugin,\nthis plugin makes it difficult to use cheats locally.\n\n[![Godot Engine 4.3](https://img.shields.io/badge/Godot_Engine-4.x-blue)](https://godotengine.org/) ![ToolHack](https://img.shields.io/badge/Tool-Safe-green) ![Copyrights License](https://img.shields.io/badge/License-Copyrights-blue)\n\n\n\n## Table of contents\n\n- [Description](#description)\n- [Supported](#supported-)\n- [Issues](#issues-)\n- [Roadmap](#roadmap-)\n- [License](#license-)\n\n## Description\nThis plugin was created to prevent any possible manipulation of values ​​in programs or video games, such as increasing your character's stats in an unintended way.\n\n### Example\n![example](example/vendor/use_case.gif)\n_Use case image_ [↑](#Example)\n\n## Supported [↑](#table-of-contents)\n- **IntStream** _Integer values_\n- **BoolStream** _Boolean Values_\n- **FloatStream** _Float Values_\n- **StringStream** _String Values_\n- **VariantStream** _General purposes values_\n\n## Others\n- **TrackValue** _Can be used to monitor the list of changes similar to TrackerStream Scene._\n- **TrackNet** _Helper class for check connection to complement the review of interceptions._\n\n### Example\n```gd\n# my_logic_file.gd\n## variable you want to protect\nvar secure_cash_wallet : IntStream = IntStream.new()\n\nfunc add_cash(value : int) -\u003e void:\n\tsecure_cash_wallet.value += value\n\nfunc get_total_cash() -\u003e int:\n\treturn secure_cash_wallet.value\n```\n\n## Issues [↑](#table-of-contents)\n_Any bug or feature request you can make a Issue._\n\n- Sometimes values ​​update too quickly as would happen with high scores, although I have optimized it to support updates of many variables, you may experience some issues with the flush technique at some point, for that you can **increase flush rate**.\n\n## Flush rate updating [↑](#table-of-contents)\n### Update flush single var\n```gd\n#demo_a.gd\n\n##Flush single var\nvar my_secure_var : IntStream = IntStream.new()\nfunc _ready() -\u003e void:\n\t# If used in physics process, default 60 fps, in ≈5 seconds start flush the pointers data\n\tmy_secure_var.flush_rate = 60 * 5 #(default 30)\n```\n### Update flush for all\n```gd\n#demo_b.gd\n\n##Flush global update for all use singleton\nfunc _ready() -\u003e void:\n\t# If used in physics process, default 60 fps, in ≈5 seconds start flush the pointers data\n\tGDAntiCheats.FLUSH_RATE = 60 * 5 #(default 30)\n```\n## Also you can update the buffer if necessary [↑](#table-of-contents)\n### Update buffer single var\n```gd\n#demo_c.gd\n\n##Buffer single var\nvar my_secure_var : IntStream = IntStream.new()\nfunc _ready() -\u003e void:\n\tmy_secure_var.buffer_size = 200 #(default 10)\n```\n### Update buffer for all\n```gd\n#demo_d.gd\n\n##Buffer global update for all use singleton\nfunc _ready() -\u003e void:\n\tGDAntiCheats.BUFFER_SIZE = 200 #(default 10)\n```\n\n### TrackValue\nThis object is designed for monitoring, this technique involves progressively reviewing any abnormal values ​​you wish to verify, such as adding an amount of health that no element in the universe allows or a position change by a disproportionate distance.\n\nThere is also have function for create a copy at a new memory location.\n\n\u003e [!NOTE]\n\u003e The tracking method or value to be monitored varies depending on the needs of you project. (See the Trackvalue scene in example folder)\n\n## Roadmap [↑](#table-of-contents)\n- ~~TrackerStream~~\n\nI am currently working on personal project and in the future I plan to create an anti-cheat API for online games, if you are interested you can follow me for future updates.\n\nIf you also expect me to create a native C++ module version of this project, please let me know.\n\n## License [↑](#table-of-contents)\n\nCopyrights (c) CodeNameTwister. See [LICENSE.md](LICENSE.md) for details.\n\n[godot engine]: https://godotengine.org/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodenametwister%2Fgdanti-cheats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodenametwister%2Fgdanti-cheats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodenametwister%2Fgdanti-cheats/lists"}