{"id":29210624,"url":"https://github.com/embarkstudios/server-code-exciser","last_synced_at":"2025-07-02T21:07:17.101Z","repository":{"id":37920610,"uuid":"451505154","full_name":"EmbarkStudios/server-code-exciser","owner":"EmbarkStudios","description":"A program that contains grammars and functionality to remove server only code from code bases.","archived":false,"fork":false,"pushed_at":"2025-02-12T10:10:32.000Z","size":102,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-07-02T20:52:43.653Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EmbarkStudios.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-APACHE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-24T14:49:07.000Z","updated_at":"2025-04-04T03:05:47.000Z","dependencies_parsed_at":"2025-02-14T05:00:38.566Z","dependency_job_id":null,"html_url":"https://github.com/EmbarkStudios/server-code-exciser","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"EmbarkStudios/opensource-template","purl":"pkg:github/EmbarkStudios/server-code-exciser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmbarkStudios%2Fserver-code-exciser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmbarkStudios%2Fserver-code-exciser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmbarkStudios%2Fserver-code-exciser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmbarkStudios%2Fserver-code-exciser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EmbarkStudios","download_url":"https://codeload.github.com/EmbarkStudios/server-code-exciser/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmbarkStudios%2Fserver-code-exciser/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263215299,"owners_count":23431895,"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":"2025-07-02T21:07:16.385Z","updated_at":"2025-07-02T21:07:17.071Z","avatar_url":"https://github.com/EmbarkStudios.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- Allow this file to not have a first line heading --\u003e\n\u003c!-- markdownlint-disable-file MD041 --\u003e\n\n\u003c!-- inline html --\u003e\n\u003c!-- markdownlint-disable-file MD033 --\u003e\n\n# :u5272: Server Code Exciser\n\n\u003cbr/\u003e\u003cbr/\u003e\n\n[![ci](https://github.com/EmbarkStudios/server-code-exciser/actions/workflows/ci.yml/badge.svg)](https://github.com/EmbarkStudios/server-code-exciser/actions/workflows/ci.yml)\n\n\u003c!--- FIXME: Write short catchy description/tagline of project ---\u003e\nAn antl4r based program that can automatically remove server only code from Unreal projects using Angelscript (https://angelscript.hazelight.se/)\n\nThanks to Tom van Dijck for initiating this project and suggesting to use Antl4r as the base!\n\n# Setup\nI would strongly recommend using VSCode as that will give you the visual antl4r debugger. You need these extensions:\n* ANTLR4 grammar syntax support\n* C#\n\nThen, you should just have to open the _Grammar/AngelscriptParser.g4_ file and save it once to generate all the antl4r stuff.\n\n# Launch Settings\nSince the launch targets include local paths, I don't think it makes sense to have these checked in in project scope, so I'll just put some launch config templates here instead! \u003c3\nYou will have to put your own arguments in there of course :)\nThese configs will excise a full script folder and visually debug one AS file, respectively!\n\n```\n{\n\t// Use IntelliSense to learn about possible attributes.\n\t// Hover to view descriptions of existing attributes.\n\t// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387\n\t\"version\": \"0.2.0\",\n\t\"configurations\": [\n\t\t{\n\t\t\t\"name\": \"Excise Server Angelscript\",\n\t\t\t\"type\": \"coreclr\",\n\t\t\t\"request\": \"launch\",\n\t\t\t\"preLaunchTask\": \"build\",\n\t\t\t\"program\": \"${workspaceFolder}/ServerCodeExciser/bin/Debug/net5.0/ServerCodeExciser.exe\",\n\t\t\t\"args\": [\"C:/Projects/MyProject/Script\"],\n\t\t\t\"cwd\": \"${workspaceFolder}/ServerCodeExciser\",\n\t\t\t\"console\": \"internalConsole\",\n\t\t\t\"stopAtEntry\": false\n\t\t},\n\t\t{\n\t\t\t\"name\": \"Debug Angelscript Grammar For Input\",\n\t\t\t\"type\": \"antlr-debug\",\n\t\t\t\"request\": \"launch\",\n\t\t\t\"preLaunchTask\": \"build\",\n\t\t\t\"grammar\": \"${workspaceFolder}/UnrealAngelscriptParser/Grammar/UnrealAngelscriptParser.g4\",\n\t\t\t\"input\": \"C:/Projects/MyProject/Script/Foo.as\",\n\t\t\t\"printParseTree\": true,\n\t\t\t\"visualParseTree\": true\n\t\t}\n\t]\n}\n```\n\nI usually try running the full parser target to see which files are breaking. Then I point the grammar target to that file and run it. After you see the errors, you can then start removing code from the file until only the thing that causes the error is left, and then start tweaking the grammar to fix it! Happy antlering!\n\n[![Embark](https://img.shields.io/badge/embark-open%20source-blueviolet.svg)](https://embark.dev)\n\n## Contribution\n\n[![Contributor Covenant](https://img.shields.io/badge/contributor%20covenant-v1.4-ff69b4.svg)](../main/CODE_OF_CONDUCT.md)\n\nWe welcome community contributions to this project.\n\nPlease read our [Contributor Guide](CONTRIBUTING.md) for more information on how to get started.\nPlease also read our [Contributor Terms](CONTRIBUTING.md#contributor-terms) before you make any contributions.\n\nAny contribution intentionally submitted for inclusion in an Embark Studios project, shall comply with the Rust standard licensing model (MIT OR Apache 2.0) and therefore be dual licensed as described below, without any additional terms or conditions:\n\n### License\n\nThis contribution is dual licensed under EITHER OF\n\n* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or \u003chttp://www.apache.org/licenses/LICENSE-2.0\u003e)\n* MIT license ([LICENSE-MIT](LICENSE-MIT) or \u003chttp://opensource.org/licenses/MIT\u003e)\n\nat your option.\n\nFor clarity, \"your\" refers to Embark or any other licensee/user of the contribution.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fembarkstudios%2Fserver-code-exciser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fembarkstudios%2Fserver-code-exciser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fembarkstudios%2Fserver-code-exciser/lists"}