Skip to content

Refactor commands#290

Open
hopskipnfall wants to merge 8 commits intomasterfrom
feature/command-system-refactor
Open

Refactor commands#290
hopskipnfall wants to merge 8 commits intomasterfrom
feature/command-system-refactor

Conversation

@hopskipnfall
Copy link
Copy Markdown
Owner

No description provided.

- Add /permaban and /permamute commands to automatically persist to access.cfg
- Add /info command to view active restrictions and internal reasons
- Expand /clear to accept User IDs and Names
- Support optional hidden reasons for bans and mutes
- Add persistent tracking for rule issuers and reasons
- Add AccessManager2Test.kt with 33 unit tests covering:
  - TempBan and Silence issuer/reason tracking and expiry
  - addTempBan, addSilenced, getTempBan, getSilence
  - addPermaBan and addPermaMute: runtime enforcement + access.cfg writes
  - clearTemp, isAddressAllowed, isSilenced, getAccess

- Fix bug in AccessManager2.loadAccess: silence lines (format
  'silence,<ip>') only have 2 tokens but the parser required at
  least 3, causing permanent mutes to be silently skipped on reload

- Update FakeAccessManager in GameChatE2ETest and GameDataE2ETest
  to implement the new AccessManager interface methods
Documents all EmuLinker-K-specific admin commands and access.cfg
extensions introduced in this branch:
- /permaban, /permamute: persistent bans/mutes written to access.cfg
- /info: view active restrictions and internal reasons
- /clear: now accepts UserID or name in addition to IP
- Optional reason parameter on /ban and /silence (internal only)
- New 'silence,<ip>' entry type in access.cfg
PingBenchmark, LoginBenchmark, and GameDataBenchmark all had
FakeAccessManager implementations that hadn't been updated to
implement the new AccessManager interface methods, causing
jmh compilation to fail.
@hopskipnfall hopskipnfall force-pushed the feature/command-system-refactor branch from 69f21e0 to b1c7591 Compare March 27, 2026 10:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant