Repository navigation
Troubleshooting
shmitzas edited this page Nov 10, 2026
·
1 revision
Module problems are on each module's page. VipLogging adds more console output; warnings and errors always print.
| Problem | Cause | Solution |
|---|---|---|
| Plugin does not load | Wrong SwiftlyS2 version | Check the server log for a load error |
[VIPCore] Failed to run database migrations. |
The connection fails, or its user can't change the schema | Check the connection's credentials and rights |
| Grants land in the wrong database |
DatabaseConnection names no entry in configs/database.jsonc, so SwiftlyS2's default is used |
Fix the name, then restart |
| Config edits ignored | Edited the wrong copy | Config lives in addons/swiftlys2/configs/plugins/VIPCore/
|
| A setting change did nothing |
DatabaseConnection, ServerId and group changes need a restart |
Restart — see Configuration |
Generated new Server GUID at every start |
addons/swiftlys2/data/VIPCore/ is wiped or not writable |
Keep it on persistent storage |
| Problem | Cause | Solution |
|---|---|---|
Failed to add VIP: Server ID is not initialized. |
The server hasn't registered yet; it does once Steam is connected | Retry once the map has loaded, or grant globally |
| A grant lasts seconds |
TimeMode is 0, so <time> counts seconds |
Set TimeMode to 3 to count days |
Invalid SteamID format |
The target isn't a SteamID64 or an account ID | Use the number from the player's profile |
| A permanent VIP became timed | A grant with a length for a group they held permanently replaces it | Grant it again with 0, or use Make permanent in VIP users
|
| VIP works on one server only | The grant is local | Grant it globally — see Database |
| Every server's local VIPs apply here |
ShareServerId is true
|
Set it false
|
| A grant made on another server doesn't reach a player online here | Grants load when a player joins | Expected — the player rejoins |
| Local VIPs gone after moving the server | It registered under a new ID | Set ServerId to the old ID — see Database
|
| A player is told their VIP expired, but keeps VIP | Another group they hold took over | Expected |
| Problem | Cause | Solution |
|---|---|---|
| No groups at all | The first start writes vip_groups.jsonc empty |
Add one — see VIP Groups |
A VIP has no features, and the console says Group 'VIP' not found in config for user …
|
The grant names a group vip_groups.jsonc doesn't define |
Add the group, or grant one that exists |
A feature set to 0 is still granted |
The key's presence grants it | Delete the key |
| A feature does nothing | Its module isn't installed, or the key is misspelt | Install the module; check the key on Modules |
| Features of two groups don't add up | Only the active group applies | Put everything in the heavier group |
A new group, or a new Weight, did nothing |
Groups are read at start | Restart |
| A perk shows on Perks but won't switch | It was added to the group after the player joined | Expected — the player rejoins |
| Players' choices reset at every join | Cookies isn't installed | Install it |
| Problem | Cause | Solution |
|---|---|---|
!vip answers You don't have access to this command!
|
The player isn't VIP and lacks vipcore.manage
|
Expected |
| An admin command is refused | The admin lacks its permission, such as vipcore.adduser
|
Grant the permission |
| A misspelt group was granted |
vip_adduser doesn't check the group |
Remove it in VIP users, then grant the right one |
| Failed to load VIP users. | The database read failed | The console has the error |
| Menu keys ignore my config | Keys live in SwiftlyS2's configs/menus/menus.jsonc, not in any VIPCore file |
Set them there — see Menus |
| Keys still ignored after editing the right file | That menu uses the Chat input method |
Players pick rows with !1, !2, … |
| Problem | Cause | Solution |
|---|---|---|
| A module does nothing | VIPCore isn't installed or failed to load | Fix VIPCore's own startup error first |
MissingMethodException from a module |
The module is newer than VIPCore | Update VIPCore — each module page names the version it needs |
| A module's perk isn't on Perks | The player's group doesn't have its key | Add the key to the group |
Menu page id '…' belongs to VIPCore; the page was not added. |
A module used one of VIPCore's page ids | The module must use an id of its own |