Entitlements User Guide
Overview
Welcome to the SoulWars Entitlements System! This guide explains how to manage user access to game features, themes, and tools through the admin interface.
What Are Entitlements?
Entitlements are permissions that control what users can access in SoulWars. Think of them as digital keys that unlock specific features.
Default Entitlements
game_access
Allows users to launch matches
Enables game mode selection
Unlocks chat features
Required for core gameplay
theme_creator
Grants access to the Theme Creator tool
Allows creating and customizing visual themes
For content creators and designers
Theme-Specific Entitlements
Format:
theme:theme-idExample:
theme:cyberpunk-2077Controls access to premium/custom themes
Note: The default
soulwars-defaulttheme is always accessible
Entitlement Categories
Game Features
Core gameplay functionality
Match creation and joining
Game modes and special features
Themes
Visual customizations
Battlefield appearances
UI styling
Tools
Development and creation tools
Theme Creator
Future admin tools
Admin Panel Access
Requirements
To access the admin panel, you must have one of these permission levels:
adminmoderatorsuper_admin
Accessing the Panel
Admin Panel
You'll see the Admin Panel with three tabs:
┌─────────────────────────────────────────────────┐
│ SoulWars Admin Panel │
├─────────────────────────────────────────────────┤
│ Grant Entitlement | View User | Manage │
├─────────────────────────────────────────────────┤
│ │
│ [Current tab content here] │
│ │
└─────────────────────────────────────────────────┘Granting Access
Basic Grant Flow
Configure Grant Details
Grant Type: Select how this access was obtained
Admin Grant: You're giving them access
Trial: Temporary trial period
Gift: Given as a reward or promotion
Purchased: They bought it (usually automatic)
Creator: For content creators
Expiration Date (Optional):
Leave blank for permanent access
Set a date/time for temporary access
Notes (Optional):
Add context for why access was granted
Example: "Beta tester - Phase 1"
Example: Giving a User Game Access
User Search: 7xKXtGh8...
↓
Select: John Doe (7xKXt...xyz)
↓
Entitlement: Game Access
Grant Type: Admin Grant
Expires At: [blank] (permanent)
Notes: "New player onboarding"
↓
Click: Grant Entitlement
↓
✓ Success!Managing User Entitlements
Viewing a User's Entitlements
Review Entitlements
See all active entitlements for that user. For each entitlement, you'll see:
Name (e.g., "Game Access")
Description
ID (technical identifier)
Type (how it was granted: admin, trial, etc.)
Category (game_feature, theme, or tool)
Granted (when it was given)
Expires (when it expires, if applicable)
Notes
Revoking Access
Revoking is immediate and cannot be undone. The user will lose access right away.
Creating New Entitlements
When to Create New Entitlements
Create a new entitlement when you need to:
Launch a new premium theme
Add a new game feature that requires access control
Create a new tool or capability
Set up a new tier of access
How to Create
Fill Details
Required and recommended fields:
Entitlement ID (Required)
Technical identifier used in code
Must be unique
Format rules:
Game features: lowercase with underscores (e.g.,
tournament_access)Themes:
theme:theme-id(e.g.,theme:neon-nights)Tools: descriptive name (e.g.,
map_editor)
Cannot be changed after creation
Name (Required)
Human-readable display name
Description (Optional but recommended)
Explain what this entitlement provides
Category (Required)
Select one: Game Feature, Theme, Tool
Example: Creating a Theme Entitlement
Creating entitlement for new "Cyberpunk 2077" theme:
Entitlement ID: theme:cyberpunk-2077
Name: Cyberpunk 2077 Theme
Description: Futuristic neon-lit battlefield theme with synthwave aesthetics
Category: Theme
→ Click "Create Entitlement"
→ ✓ Created successfully!
→ Now can grant to usersCommon Scenarios
Scenario: Onboarding a New Player
Search for their wallet address
Grant "Game Access" entitlement
Grant Type: Admin Grant; Leave expiration blank (permanent); Notes: "New player onboarding - [Date]"
Result: Player can now launch matches and play games.
Scenario: Beta Testing a New Theme
Create theme entitlement:
ID:
theme:beta-theme-v1Name: "Beta Theme v1"
Category: Theme
For each tester:
Grant the theme entitlement
Grant Type: Trial
Expires At: [30 days from now]
Notes: "Beta tester - Group A"
Result: Testers can use the theme for 30 days, then access automatically expires.
Scenario: Rewarding Content Creators
Search for creator's wallet
Grant "Theme Creator" entitlement
Grant Type: Creator
No expiration
Notes: "Verified content creator - Application #123"
Result: User sees "Theme Creator" link in menu and can access the tool.
Scenario: Limited-Time Promotion
For each promotional user:
Grant "Game Access"
Grant Type: Gift
Expires At: [7 days from now]
Notes: "Launch week promotion"
Result: Users have access for exactly 1 week, then it expires automatically.
Scenario: Theme Creator Needs Their Own Theme
Create theme entitlement:
ID:
theme:artist-theme-nameName: "[Artist Name]'s Theme"
Category: Theme
Grant to creator:
Type: Creator (or Owned)
No expiration
Notes: "Theme creator - owns this theme"
Grant to any buyers/users as needed
Result: Creator can always use their theme, others need to be granted access.
Troubleshooting
Below are common issues and checks. Each entry is collapsible for convenience.
Best Practices
For Granting Entitlements
Always add notes explaining why access was granted — helps with auditing and record-keeping.
Use appropriate grant types:
Admin: Manual grants
Trial: Testing/temporary access
Gift: Promotions and rewards
Purchased: Payment-based (usually automatic)
Set expiration dates for trials to avoid forgotten permanent access.
Double-check user before granting — verify wallet address or username.
For Managing Entitlements
Regularly review active entitlements — check for expired access and remove test accounts.
Document new entitlements — clear descriptions and consistent naming.
Communicate with users — notify when access is granted or revoked and provide support.
Getting Help
For Users
If a user contacts you about entitlement issues:
Check their entitlements in the admin panel
Verify expiration dates
Ask them to refresh/reconnect wallet
Grant or extend entitlement if appropriate
For Admins
If you need technical help:
Check Entitlements System Architecture for developer docs
Contact development team for:
New entitlement categories
Custom entitlement logic
Database issues
Permission problems
Appendix: Entitlement ID Reference
Current Default Entitlements
game_access
Game Access
game_feature
Launch matches, use chat, play game
theme_creator
Theme Creator Access
tool
Access theme creation tool
theme:soulwars-default
-
-
No entitlement needed (always accessible)
Naming Conventions
Game Features:
Format:
feature_nameorgame_feature_nameExamples:
tournament_access,ranked_matches,spectator_mode
Themes:
Format:
theme:theme-idExamples:
theme:cyberpunk-2077,theme:medieval-fantasy,theme:space-stationTheme ID should match the theme's technical ID in the system
Tools:
Format:
tool_nameor descriptive identifierExamples:
map_editor,replay_analyzer,tournament_organizer
ID Guidelines
Use lowercase
Use hyphens for themes:
theme:my-theme-nameUse underscores for features:
my_feature_nameBe descriptive and concise
No spaces; only hyphens and underscores as special characters
Conclusion
The Entitlements System gives you powerful control over user access to SoulWars features. By following this guide, you can effectively manage permissions, create new access types, and provide a great experience for your users.
Remember: Entitlements are instantly active when granted and instantly removed when revoked. Always double-check before taking action!
For technical implementation details, see the Architecture Documentation.
