Replace VipPermissionGroup with VipCommand for Better Plugin Compatibility #6

Closed
opened 2025-06-19 20:25:26 +00:00 by saulteafarmer · 1 comment

[Feature Request] Replace VipPermissionGroup with VipCommand for Better Plugin Compatibility

Summary

Replace the current VipPermissionGroup config option in VIPSettings with VipCommand to allow for more flexible VIP management and better compatibility with third-party permission plugins like TemporaryPermissions.

Current Behavior

The plugin currently uses a direct permission group assignment:

"VIPSettings": {
  "VipPermissionGroup": "vip",
  "VipPrice": 1000
}

When a player purchases VIP status, they are directly added to the specified permission group.

Requested Changes

1. Configuration Update

Replace VipPermissionGroup with VipCommand in the VIPSettings section:

"VIPSettings": {
  "VipCommand": "oxide.usergroup add {player} vip",
  "VipPrice": 1000
}

2. Command Execution Logic

Instead of directly adding users to a permission group, execute the configured command with the following placeholders:

  • {player} - The player's name/ID who purchased VIP
  • {steamid} - The player's Steam ID (if needed)

3. Default Configuration

The default command should maintain backward compatibility:

"VipCommand": "oxide.usergroup add {player} vip"

Benefits

  1. Plugin Compatibility: Allows integration with plugins like TemporaryPermissions that can handle time-limited VIP status
  2. Flexibility: Server admins can customize the exact command executed when VIP is purchased
  3. Extensibility: Enables more complex VIP setups (multiple groups, custom commands, etc.)

Example Use Cases

With TemporaryPermissions Plugin:

"VipCommand": "tempperm add {player} vip 30d"

Multiple Group Assignment:

"VipCommand": "oxide.usergroup add {player} vip; oxide.usergroup add {player} supporter"

Custom Plugin Integration:

"VipCommand": "customvip grant {steamid} premium"

Implementation Notes

  • Ensure proper command parsing and placeholder replacement
  • Add error handling for failed command execution
  • Consider logging command execution results
  • Maintain backward compatibility during transition period
  • Update documentation and README with new configuration options

Priority

Medium - This enhances plugin compatibility and provides more flexibility for server administrators.


This change would greatly improve the plugin's compatibility with the broader Rust modding ecosystem and provide server owners with more control over VIP management.

# [Feature Request] Replace VipPermissionGroup with VipCommand for Better Plugin Compatibility ## Summary Replace the current `VipPermissionGroup` config option in `VIPSettings` with `VipCommand` to allow for more flexible VIP management and better compatibility with third-party permission plugins like [TemporaryPermissions](https://codefling.com/plugins/temporary-permissions). ## Current Behavior The plugin currently uses a direct permission group assignment: ```json "VIPSettings": { "VipPermissionGroup": "vip", "VipPrice": 1000 } ``` When a player purchases VIP status, they are directly added to the specified permission group. ## Requested Changes ### 1. Configuration Update Replace `VipPermissionGroup` with `VipCommand` in the VIPSettings section: ```json "VIPSettings": { "VipCommand": "oxide.usergroup add {player} vip", "VipPrice": 1000 } ``` ### 2. Command Execution Logic Instead of directly adding users to a permission group, execute the configured command with the following placeholders: - `{player}` - The player's name/ID who purchased VIP - `{steamid}` - The player's Steam ID (if needed) ### 3. Default Configuration The default command should maintain backward compatibility: ``` "VipCommand": "oxide.usergroup add {player} vip" ``` ## Benefits 1. **Plugin Compatibility**: Allows integration with plugins like TemporaryPermissions that can handle time-limited VIP status 2. **Flexibility**: Server admins can customize the exact command executed when VIP is purchased 3. **Extensibility**: Enables more complex VIP setups (multiple groups, custom commands, etc.) ## Example Use Cases ### With TemporaryPermissions Plugin: ```json "VipCommand": "tempperm add {player} vip 30d" ``` ### Multiple Group Assignment: ```json "VipCommand": "oxide.usergroup add {player} vip; oxide.usergroup add {player} supporter" ``` ### Custom Plugin Integration: ```json "VipCommand": "customvip grant {steamid} premium" ``` ## Implementation Notes - Ensure proper command parsing and placeholder replacement - Add error handling for failed command execution - Consider logging command execution results - Maintain backward compatibility during transition period - Update documentation and README with new configuration options ## Priority **Medium** - This enhances plugin compatibility and provides more flexibility for server administrators. --- *This change would greatly improve the plugin's compatibility with the broader Rust modding ecosystem and provide server owners with more control over VIP management.*
Author
Owner

Fixed on 0.4.0

Fixed on 0.4.0
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: rustysats/orangemart.cs#6
No description provided.