From cd5ba5be1a1e01756c67598b8021fe1c59df534d Mon Sep 17 00:00:00 2001 From: MachieCodes Date: Wed, 8 Apr 2026 02:08:41 -0500 Subject: [PATCH 1/3] The K --- .github/categories.yml | 93 ++++++++++ .github/moderation/banned_terms.js | 153 --------------- .github/moderation/package-lock.json | 258 -------------------------- .github/moderation/package.json | 14 -- .github/workflows/issue-moderator.yml | 33 ---- .github/workflows/issue.yml | 37 ++++ 6 files changed, 130 insertions(+), 458 deletions(-) create mode 100644 .github/categories.yml delete mode 100644 .github/moderation/banned_terms.js delete mode 100644 .github/moderation/package-lock.json delete mode 100644 .github/moderation/package.json delete mode 100644 .github/workflows/issue-moderator.yml create mode 100644 .github/workflows/issue.yml diff --git a/.github/categories.yml b/.github/categories.yml new file mode 100644 index 0000000000..d2b3c5e56e --- /dev/null +++ b/.github/categories.yml @@ -0,0 +1,93 @@ +categories: + - name: "new-versions" + description: > + The user is asking when Meteor will update to a new Minecraft version, or expressing impatience + about update timelines. Keywords and phrases to look for: "when will meteor update", "1.xx support", + "any eta", "will you update to", "please update", "update when", "waiting for update". + message: > + Please do not open issues asking when Meteor will update to a new Minecraft version. Maintainers work + on Meteor in their spare time, and updates are not guaranteed. New versions of Meteor are released + when they are ready. Follow the [Discord](https://meteorclient.com/discord) or watch the repository + for announcements. + + - name: "old-versions" + description: > + The user is asking for support with an old, unsupported version of Minecraft or Meteor, or attempting to procure + old Meteor builds. This includes any Minecraft version that is not the current version Meteor targets, or + any Meteor build that is not the latest. Keywords: "1.19", "1.20", "old version", "legacy", "older build", + "previous version", "downgrade". + message: > + Meteor only supports the latest version of Minecraft. Our [archive page](https://www.meteorclient.com/archive) + stores major Meteor versions starting at 1.21.4 and the most recent dev builds can be obtained from our Maven. + No support is provided for building or running old versions of Meteor - you will have to troubleshoot any + issues you encounter yourself. + + - name: "cheating" + description: > + The user is asking about bypassing, evading, or disabling a specific anticheat plugin, or asking + why a module was detected or flagged by an anticheat. This includes requests for anticheat-specific + bypasses, questions about why Meteor was detected, and feature requests motivated by anticheat evasion. + Known anticheats to look for: AAC, Grim, Matrix, NCP, NoCheatPlus, Spartan, Vulcan, Watchdog, Wraith, + Donut, GlazE, GodsEye, AntiCheatAddition. Keywords: "bypass", "detected", "flagged", "disabler", + "anticheat", "anti-cheat", "anti cheat". + message: > + Meteor is intended to be used as a utility client on anarchy servers that explicitly allow its use. We discourage + the use of Meteor for any purpose that would be considered cheating or griefing. Likewise, We do not intend to + add workarounds for specific anticheats unless they are necessary to support basic functionality in an anarchy + setting. + + - name: "launchers" + description: > + The user is asking about compatibility with or support for third-party launchers or other mod clients, + particularly those targeting non-desktop platforms or cracked accounts. This includes issues caused + by running Meteor alongside or within these environments. Known clients and launchers to look for: + Lunar Client, Feather Client, LabyMod, OptiFine, OptiFabric, PojavLauncher, TLauncher, Badlion. + Keywords: "lunar", "feather", "labymod", "optifine", "pojav", "tlauncher", "cracked", "mobile", + "android", "ios". + message: > + Meteor does not offer support for "legit clients" such as Lunar or Feather, launchers that support + cracked accounts, or launchers targeting non-desktop platforms. Meteor is unlikely to run correctly + in these environments if at all. You will have to troubleshoot any issues you encounter yourself. + + - name: "features" + description: > + The user is requesting a feature that is impossible to implement, explicitly associated with + griefing or malicious use beyond Meteor's scope, or that the project has no intention of adding. + This includes features that would require server-side exploitation or violate the spirit of the project. + Keywords: force op, dupe exploits, portal godmode, infinite reach, anti-vanish, tp-aura, ping bypass, + .panic command, crash exploits, x-ray bypasses. + message: > + This feature is either impossible to implement, associated with cheating or griefing in an non-anarchy + setting, or explicitly associated with malicious use beyond the intended scope of Meteor. Please do not + open issues requesting features of this nature, they will not be considered. + + - name: "forge-port" + description: > + The user is asking about a Forge port of Meteor Client, asking why Meteor is not available on Forge, + or requesting that Meteor be ported to Forge. Keywords: "forge", "forge port", "forge version", + "why not forge", "port to forge", "forge support", "forge mod". + message: > + Porting Meteor to Forge would require rewriting the majority of the client to accommodate entirely + different APIs, and would take a massive amount of time and effort. We do not plan to port to Forge + in the future. + + - name: "not-an-issue" + description: > + The submission is not a bug report or a valid feature request. This includes general questions, + thank-you messages, rants, spam, memes, requests for help with unrelated topics, or content that + belongs in the Discord rather than the issue tracker. The issue body may be very short, nonsensical, + or completely unrelated to Meteor Client. + message: > + This does not appear to be a bug report or a valid feature request. For general questions and + discussion, please use the [Discord](https://meteorclient.com/discord) instead. + + - name: "no-reproduction-info" + description: > + The issue is a bug report but contains no meaningful information to reproduce the problem — no steps + to reproduce, no Meteor version, no Minecraft version, no logs, and no description beyond a vague + complaint. Examples: "it doesn't work", "meteor is broken", "this module is bugged" with no further + detail. The issue may also be missing a crash report or log when one would clearly be relevant. + message: > + This issue does not contain enough information to reproduce the problem. Please re-open with detailed + steps to reproduce, your Minecraft and Meteor versions, and any relevant logs or crash reports. + Issues without reproduction information cannot be investigated. diff --git a/.github/moderation/banned_terms.js b/.github/moderation/banned_terms.js deleted file mode 100644 index 139d78c794..0000000000 --- a/.github/moderation/banned_terms.js +++ /dev/null @@ -1,153 +0,0 @@ -import * as github from '@actions/github'; -import * as core from "@actions/core"; - -const otherModTerms = [ - "feather", - "labymod", - "lunar", - "optifabric", - "optifine", - "pojav", - "tlauncher" -]; - -const anticheatTerms = [ - "aac", - "anti xray", - "anti aura", - "anticheataddition", - "bypass", - "disabler", - "donut", - "godseye", - "grim", - "matrix", - "ncp", - "nocheat plus", - "spartan", - "vulcan", - "watchdog", - "wraith" -]; - -const featureTerms = [ - ".panic", - "anti vanish", - "dupe", - "force op", - "god mode", - "infinite reach", - "ping bypass", - "portal godmode", - "tp aura" -] - -const token = process.env.GITHUB_TOKEN; -const octokit = github.getOctokit(token); -const context = github.context - -const title = context.payload.issue.title; -const body = context.payload.issue.body; - -async function run() { - const issueText = `${title} ${body}`.toLowerCase(); - - for (const term of otherModTerms) { - if (!checkTerm(issueText, term)) continue; - - const otherModMessage = - 'Meteor does not offer support for "legit clients" like Lunar or Feather, or for launchers that ' + - 'support cracked accounts, or work on non-desktop devices. The mod likely won\'t run in tandem with ' + - 'them, and if you experience any issues while doing so you must troubleshoot any issues yourself.' - - await closeIssue(otherModMessage, octokit, context, term); - return; - } - - for (const term of anticheatTerms) { - if (!checkTerm(issueText, term)) continue; - - const anticheatMessage = - 'Meteor is intended to be used as a utility client on servers that explicitly allow its use. ' + - 'We do not intend to add workarounds for specific anticheats unless it falls within that scope.' - - await closeIssue(anticheatMessage, octokit, context, term); - return; - } - - for (const term of featureTerms) { - if (!checkTerm(issueText, term)) continue; - - const featureMessage = - 'This feature is either impossible to make, associated with cheating/griefing, or falls outside ' + - 'the scope of this project. We do not plan on adding this feature.' - - await closeIssue(featureMessage, octokit, context, term); - return; - } - - if (checkTerm(issueText, "old version")) { - const oldVersionMessage = - 'Our [archive page](https://www.meteorclient.com/archive) stores major Meteor versions for Minecraft ' + - 'versions starting at 1.21.4. If you wish to use older builds on older versions of Minecraft, you will ' + - 'need to build them yourself. **You will not receive support for issues with old versions of Meteor!**' - - await closeIssue(oldVersionMessage, octokit, context, "old version"); - return; - } - - if (checkTerm(issueText, "forge")) { - const forgeMessage = - 'Porting Meteor to Forge would take a great amount of time and effort, and would require rewriting major ' + - 'parts of the client to accommodate different APIs. Meteor does not plan to port to Forge in the future.' - - await closeIssue(forgeMessage, octokit, context, "forge"); - } -} - -function checkTerm(text, term) { - if (text.includes(term)) return true; - if (text.includes(term.replaceAll(' ', '-'))) return true; - return text.includes(term.replaceAll(' ', '')); -} - -async function closeIssue(message, octokit, context, foundTerm) { - const issueNumber = context.payload.issue.number; - const owner = context.repo.owner; - const repo = context.repo.repo; - - let closeMessage = '### This issue is being automatically closed.\n' + - `${message}` - - if (foundTerm !== '') closeMessage += - '\n' + - '\n' + - `_This issue was closed because you used the term "${foundTerm}". ` + - 'If you believe your issue is not associated with the given reason ' + - 'you may reopen it._' - - // IDE for whatever reason can't find the rest property yippee - - try { - await octokit['rest'].issues.createComment({ - owner, repo, issue_number: issueNumber, body: closeMessage - }); - - core.info('Comment added successfully.'); - } catch (error) { - core.error(`Failed to add comment: ${error.message}`); - } - - try { - await octokit['rest'].issues.update({ - owner, repo, issue_number: issueNumber, state: 'closed', state_reason: 'not_planned' - }); - - core.info('Closed issue successfully.'); - } catch (error) { - core.setFailed(`Failed to close issue: ${error.message}`); - } -} - -run(); - diff --git a/.github/moderation/package-lock.json b/.github/moderation/package-lock.json deleted file mode 100644 index 2f098eca06..0000000000 --- a/.github/moderation/package-lock.json +++ /dev/null @@ -1,258 +0,0 @@ -{ - "name": "moderator", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "moderator", - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "@actions/core": "^1.11.1", - "@actions/github": "^6.0.0" - } - }, - "node_modules/@actions/core": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.11.1.tgz", - "integrity": "sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==", - "dependencies": { - "@actions/exec": "^1.1.1", - "@actions/http-client": "^2.0.1" - } - }, - "node_modules/@actions/exec": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz", - "integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==", - "dependencies": { - "@actions/io": "^1.0.1" - } - }, - "node_modules/@actions/github": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@actions/github/-/github-6.0.0.tgz", - "integrity": "sha512-alScpSVnYmjNEXboZjarjukQEzgCRmjMv6Xj47fsdnqGS73bjJNDpiiXmp8jr0UZLdUB6d9jW63IcmddUP+l0g==", - "dependencies": { - "@actions/http-client": "^2.2.0", - "@octokit/core": "^5.0.1", - "@octokit/plugin-paginate-rest": "^9.0.0", - "@octokit/plugin-rest-endpoint-methods": "^10.0.0" - } - }, - "node_modules/@actions/http-client": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.3.tgz", - "integrity": "sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA==", - "dependencies": { - "tunnel": "^0.0.6", - "undici": "^5.25.4" - } - }, - "node_modules/@actions/io": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.3.tgz", - "integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q==" - }, - "node_modules/@fastify/busboy": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", - "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", - "engines": { - "node": ">=14" - } - }, - "node_modules/@octokit/auth-token": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", - "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==", - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/core": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.1.tgz", - "integrity": "sha512-dKYCMuPO1bmrpuogcjQ8z7ICCH3FP6WmxpwC03yjzGfZhj9fTJg6+bS1+UAplekbN2C+M61UNllGOOoAfGCrdQ==", - "dependencies": { - "@octokit/auth-token": "^4.0.0", - "@octokit/graphql": "^7.1.0", - "@octokit/request": "^8.4.1", - "@octokit/request-error": "^5.1.1", - "@octokit/types": "^13.0.0", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/endpoint": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.6.tgz", - "integrity": "sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw==", - "dependencies": { - "@octokit/types": "^13.1.0", - "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/graphql": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.1.tgz", - "integrity": "sha512-3mkDltSfcDUoa176nlGoA32RGjeWjl3K7F/BwHwRMJUW/IteSa4bnSV8p2ThNkcIcZU2umkZWxwETSSCJf2Q7g==", - "dependencies": { - "@octokit/request": "^8.4.1", - "@octokit/types": "^13.0.0", - "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/openapi-types": { - "version": "24.2.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz", - "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==" - }, - "node_modules/@octokit/plugin-paginate-rest": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.2.tgz", - "integrity": "sha512-u3KYkGF7GcZnSD/3UP0S7K5XUFT2FkOQdcfXZGZQPGv3lm4F2Xbf71lvjldr8c1H3nNbF+33cLEkWYbokGWqiQ==", - "dependencies": { - "@octokit/types": "^12.6.0" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "@octokit/core": "5" - } - }, - "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz", - "integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==" - }, - "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz", - "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==", - "dependencies": { - "@octokit/openapi-types": "^20.0.0" - } - }, - "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.4.1.tgz", - "integrity": "sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg==", - "dependencies": { - "@octokit/types": "^12.6.0" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "@octokit/core": "5" - } - }, - "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz", - "integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==" - }, - "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz", - "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==", - "dependencies": { - "@octokit/openapi-types": "^20.0.0" - } - }, - "node_modules/@octokit/request": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.1.tgz", - "integrity": "sha512-qnB2+SY3hkCmBxZsR/MPCybNmbJe4KAlfWErXq+rBKkQJlbjdJeS85VI9r8UqeLYLvnAenU8Q1okM/0MBsAGXw==", - "dependencies": { - "@octokit/endpoint": "^9.0.6", - "@octokit/request-error": "^5.1.1", - "@octokit/types": "^13.1.0", - "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/request-error": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.1.tgz", - "integrity": "sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==", - "dependencies": { - "@octokit/types": "^13.1.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@octokit/types": { - "version": "13.10.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", - "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", - "dependencies": { - "@octokit/openapi-types": "^24.2.0" - } - }, - "node_modules/before-after-hook": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", - "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" - }, - "node_modules/deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/tunnel": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", - "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", - "engines": { - "node": ">=0.6.11 <=0.7.0 || >=0.7.3" - } - }, - "node_modules/undici": { - "version": "5.29.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", - "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==", - "dependencies": { - "@fastify/busboy": "^2.0.0" - }, - "engines": { - "node": ">=14.0" - } - }, - "node_modules/universal-user-agent": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", - "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==" - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - } - } -} diff --git a/.github/moderation/package.json b/.github/moderation/package.json deleted file mode 100644 index 5c5ebfc4c4..0000000000 --- a/.github/moderation/package.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "moderator", - "version": "1.0.0", - "author": "MachieCodes", - "license": "MIT", - "type": "module", - "scripts": { - "banned_terms": "node banned_terms.js" - }, - "dependencies": { - "@actions/core": "^1.11.1", - "@actions/github": "^6.0.0" - } -} diff --git a/.github/workflows/issue-moderator.yml b/.github/workflows/issue-moderator.yml deleted file mode 100644 index e5e885996b..0000000000 --- a/.github/workflows/issue-moderator.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: Issue Automatic Actions - -on: - issues: - types: [ opened ] - -jobs: - issue-moderator: - runs-on: ubuntu-latest - - permissions: - issues: write - contents: read - - steps: - - name: Checkout Repository - uses: actions/checkout@v4 - with: - persist-credentials: false - - - name: Set Up Node.js - uses: actions/setup-node@v4 - with: - node-version: 22 - - - name: Install Dependencies - working-directory: .github/moderation - run: npm ci - - - name: Check Banned Terms - run: node .github/moderation/banned_terms.js - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/issue.yml b/.github/workflows/issue.yml new file mode 100644 index 0000000000..5e68028174 --- /dev/null +++ b/.github/workflows/issue.yml @@ -0,0 +1,37 @@ +name: Issue + +on: + issues: + types: [ opened ] + +jobs: + issue-moderator: + runs-on: ubuntu-latest + + permissions: + issues: write + contents: read + + steps: + - name: Checkout Repository + uses: actions/checkout@v6 + with: + persist-credentials: false + + - name: Check Template + uses: machiecodes/check-template@v1.0.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Check Content + uses: machiecodes/check-content@v1.0.0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }} + with: + gemini-model: "gemini-2.5-flash" + project-context: "Meteor Client is a Minecraft utility/cheat client built as a Fabric mod, intended for use + on anarchy servers where cheating is permitted. It is written in Java and targets a specific major Minecraft + version at any given time. It is open source and maintained on GitHub. + +" From 0dde4669a2c65fa67f84f670355a47cca3f3c91b Mon Sep 17 00:00:00 2001 From: MachieCodes Date: Thu, 9 Apr 2026 11:05:32 -0500 Subject: [PATCH 2/3] Use v1.0.1 check-content Perhaps the messages shouldn't always have a header applied --- .github/categories.yml | 16 ++++++++++++++++ .github/workflows/issue.yml | 6 ++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/.github/categories.yml b/.github/categories.yml index d2b3c5e56e..f88eef4969 100644 --- a/.github/categories.yml +++ b/.github/categories.yml @@ -5,6 +5,8 @@ categories: about update timelines. Keywords and phrases to look for: "when will meteor update", "1.xx support", "any eta", "will you update to", "please update", "update when", "waiting for update". message: > + ### This issue is being automatically closed. + Please do not open issues asking when Meteor will update to a new Minecraft version. Maintainers work on Meteor in their spare time, and updates are not guaranteed. New versions of Meteor are released when they are ready. Follow the [Discord](https://meteorclient.com/discord) or watch the repository @@ -17,6 +19,8 @@ categories: any Meteor build that is not the latest. Keywords: "1.19", "1.20", "old version", "legacy", "older build", "previous version", "downgrade". message: > + ### This issue is being automatically closed. + Meteor only supports the latest version of Minecraft. Our [archive page](https://www.meteorclient.com/archive) stores major Meteor versions starting at 1.21.4 and the most recent dev builds can be obtained from our Maven. No support is provided for building or running old versions of Meteor - you will have to troubleshoot any @@ -31,6 +35,8 @@ categories: Donut, GlazE, GodsEye, AntiCheatAddition. Keywords: "bypass", "detected", "flagged", "disabler", "anticheat", "anti-cheat", "anti cheat". message: > + ### This issue is being automatically closed. + Meteor is intended to be used as a utility client on anarchy servers that explicitly allow its use. We discourage the use of Meteor for any purpose that would be considered cheating or griefing. Likewise, We do not intend to add workarounds for specific anticheats unless they are necessary to support basic functionality in an anarchy @@ -45,6 +51,8 @@ categories: Keywords: "lunar", "feather", "labymod", "optifine", "pojav", "tlauncher", "cracked", "mobile", "android", "ios". message: > + ### This issue is being automatically closed. + Meteor does not offer support for "legit clients" such as Lunar or Feather, launchers that support cracked accounts, or launchers targeting non-desktop platforms. Meteor is unlikely to run correctly in these environments if at all. You will have to troubleshoot any issues you encounter yourself. @@ -57,6 +65,8 @@ categories: Keywords: force op, dupe exploits, portal godmode, infinite reach, anti-vanish, tp-aura, ping bypass, .panic command, crash exploits, x-ray bypasses. message: > + ### This issue is being automatically closed. + This feature is either impossible to implement, associated with cheating or griefing in an non-anarchy setting, or explicitly associated with malicious use beyond the intended scope of Meteor. Please do not open issues requesting features of this nature, they will not be considered. @@ -67,6 +77,8 @@ categories: or requesting that Meteor be ported to Forge. Keywords: "forge", "forge port", "forge version", "why not forge", "port to forge", "forge support", "forge mod". message: > + ### This issue is being automatically closed. + Porting Meteor to Forge would require rewriting the majority of the client to accommodate entirely different APIs, and would take a massive amount of time and effort. We do not plan to port to Forge in the future. @@ -78,6 +90,8 @@ categories: belongs in the Discord rather than the issue tracker. The issue body may be very short, nonsensical, or completely unrelated to Meteor Client. message: > + ### This issue is being automatically closed. + This does not appear to be a bug report or a valid feature request. For general questions and discussion, please use the [Discord](https://meteorclient.com/discord) instead. @@ -88,6 +102,8 @@ categories: complaint. Examples: "it doesn't work", "meteor is broken", "this module is bugged" with no further detail. The issue may also be missing a crash report or log when one would clearly be relevant. message: > + ### This issue is being automatically closed. + This issue does not contain enough information to reproduce the problem. Please re-open with detailed steps to reproduce, your Minecraft and Meteor versions, and any relevant logs or crash reports. Issues without reproduction information cannot be investigated. diff --git a/.github/workflows/issue.yml b/.github/workflows/issue.yml index 5e68028174..8211f65fcc 100644 --- a/.github/workflows/issue.yml +++ b/.github/workflows/issue.yml @@ -24,7 +24,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Check Content - uses: machiecodes/check-content@v1.0.0 + uses: machiecodes/check-content@v1.0.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }} @@ -32,6 +32,4 @@ jobs: gemini-model: "gemini-2.5-flash" project-context: "Meteor Client is a Minecraft utility/cheat client built as a Fabric mod, intended for use on anarchy servers where cheating is permitted. It is written in Java and targets a specific major Minecraft - version at any given time. It is open source and maintained on GitHub. - -" + version at any given time. It is open source and maintained on GitHub." From 1aeb69b6b273f0a87ecd762ef6980f86429b90c0 Mon Sep 17 00:00:00 2001 From: MachieCodes Date: Sat, 18 Apr 2026 17:21:44 -0500 Subject: [PATCH 3/3] Much more reliable detection --- .github/categories.yml | 63 +++++++++++++++++++++---------------- .github/workflows/issue.yml | 11 ++++--- 2 files changed, 42 insertions(+), 32 deletions(-) diff --git a/.github/categories.yml b/.github/categories.yml index f88eef4969..175636fed9 100644 --- a/.github/categories.yml +++ b/.github/categories.yml @@ -28,12 +28,19 @@ categories: - name: "cheating" description: > - The user is asking about bypassing, evading, or disabling a specific anticheat plugin, or asking - why a module was detected or flagged by an anticheat. This includes requests for anticheat-specific - bypasses, questions about why Meteor was detected, and feature requests motivated by anticheat evasion. - Known anticheats to look for: AAC, Grim, Matrix, NCP, NoCheatPlus, Spartan, Vulcan, Watchdog, Wraith, - Donut, GlazE, GodsEye, AntiCheatAddition. Keywords: "bypass", "detected", "flagged", "disabler", - "anticheat", "anti-cheat", "anti cheat". + The user is asking about bypassing anticheats or evading detection **specifically on non-anarchy servers.** + Meteor is an anarchy client, so we do care about being able to pass certain checks from certain anticheats that + see common use in anarchy servers - Grim specifically for movement checks, updated NCP (nocheatplus), old NCP + all come to mind. If the user is asking about altering basic functionality to bypass those anticheats, or adding + a bypass for them to one of the more "important" modules such as killaura, speed, or other useful anarchy + utilities, that is fine. What isn't fine is asking about bypassing other anticheats that are generally used on + non-anarchy servers: AAC, Matrix, Spartan, Vulcan, Watchdog, Wraith, Donut, GlazE, GodsEye, AntiCheatAddition. + This category also encompasses users asking for features normally associated with cheating/griefing on those + servers, such as "anti-vanish" or modules that warn when staff are near, force OP exploits, etc. This does not + include requesting changes to existing modules such as nuker, flamethrower, xray, wallhack, etc - these are + valid utilities for an anarchy use case. If the user asks broadly for bypasses without referring to a specific + anticheat, consider it a valid suggestion - users asking for cheating purposes seem to specify a specific + server or anticheat a lot of the time. message: > ### This issue is being automatically closed. @@ -42,14 +49,12 @@ categories: add workarounds for specific anticheats unless they are necessary to support basic functionality in an anarchy setting. - - name: "launchers" + - name: "incompatible" description: > - The user is asking about compatibility with or support for third-party launchers or other mod clients, + The user is asking about compatibility with or support for third-party launchers or other minecraft clients, particularly those targeting non-desktop platforms or cracked accounts. This includes issues caused - by running Meteor alongside or within these environments. Known clients and launchers to look for: - Lunar Client, Feather Client, LabyMod, OptiFine, OptiFabric, PojavLauncher, TLauncher, Badlion. - Keywords: "lunar", "feather", "labymod", "optifine", "pojav", "tlauncher", "cracked", "mobile", - "android", "ios". + by running Meteor alongside or within these environments. Keywords to look for: Lunar Client, Feather Client, + LabyMod, OptiFine, OptiFabric, Pojav, TLauncher, Badlion, Zalith, cracked, mobile, android, ios, mojolauncher. message: > ### This issue is being automatically closed. @@ -59,17 +64,20 @@ categories: - name: "features" description: > - The user is requesting a feature that is impossible to implement, explicitly associated with - griefing or malicious use beyond Meteor's scope, or that the project has no intention of adding. - This includes features that would require server-side exploitation or violate the spirit of the project. - Keywords: force op, dupe exploits, portal godmode, infinite reach, anti-vanish, tp-aura, ping bypass, - .panic command, crash exploits, x-ray bypasses. + The user is requesting a feature that is either technically impossible, relies on a game bug or exploit + that has been or will soon be patched, or requires server-side exploitation to function. This includes dupe + exploits, crash exploits, and features that bypass server-side mechanics entirely. Keywords: dupe, duplication, + force op, portal godmode, infinite reach, ping bypass, book ban, bow oneshot, anti-xray bypass, crash exploit, + kill aura bypass. This does not include requesting changes to existing modules such as nuker, + flamethrower, xray, wallhack, etc - these are valid utilities for an anarchy use case. message: > ### This issue is being automatically closed. - This feature is either impossible to implement, associated with cheating or griefing in an non-anarchy - setting, or explicitly associated with malicious use beyond the intended scope of Meteor. Please do not - open issues requesting features of this nature, they will not be considered. + This feature relies either on exploits in Minecraft's code or server-side behavior that a client mod cannot + control. Exploits are hard to find and often patched immediately after being made public, making them not + worth it to maintain. If you're not sure what the difference between client-side and server-side means, + [this article](https://cybrancee.com/blog/minecraft-client-side-and-server-side-explained/) is a good + starting point. - name: "forge-port" description: > @@ -92,15 +100,16 @@ categories: message: > ### This issue is being automatically closed. - This does not appear to be a bug report or a valid feature request. For general questions and - discussion, please use the [Discord](https://meteorclient.com/discord) instead. + This does not appear to be a bug report or feature request. For general questions and discussion, + please use the [community discord](https://meteorclient.com/discord) instead. - - name: "no-reproduction-info" + - name: "incomplete" description: > - The issue is a bug report but contains no meaningful information to reproduce the problem — no steps - to reproduce, no Meteor version, no Minecraft version, no logs, and no description beyond a vague - complaint. Examples: "it doesn't work", "meteor is broken", "this module is bugged" with no further - detail. The issue may also be missing a crash report or log when one would clearly be relevant. + This category applies only to bug report or crash report issues, **suggestions are exempt**. Suggestions + will begin with the heading "Describe the feature" - if it starts with that, you cannot categorize the issue + into this category. The issue is a bug report but contains no meaningful information. This includes no steps + to reproduce the problem, no Meteor version, no Minecraft version, no logs, or no description beyond a vague + complaint. Examples: "it doesn't work", "meteor is broken", "this module is bugged" with no further detail. message: > ### This issue is being automatically closed. diff --git a/.github/workflows/issue.yml b/.github/workflows/issue.yml index 8211f65fcc..a018d783aa 100644 --- a/.github/workflows/issue.yml +++ b/.github/workflows/issue.yml @@ -24,12 +24,13 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Check Content - uses: machiecodes/check-content@v1.0.1 + uses: machiecodes/check-content@v1.0.6 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }} with: - gemini-model: "gemini-2.5-flash" - project-context: "Meteor Client is a Minecraft utility/cheat client built as a Fabric mod, intended for use - on anarchy servers where cheating is permitted. It is written in Java and targets a specific major Minecraft - version at any given time. It is open source and maintained on GitHub." + gemini-model: "gemini-3-flash-preview" + project-context: "Meteor Client is a Minecraft utility client built as a Fabric mod, intended for use + on anarchy servers where hack clients are permitted. It is written in Java and targets a specific + Minecraft version at any given time. It is open source and maintained on GitHub." +