docs: add jump-to-top links below all section headings
This commit is contained in:
@@ -1,9 +1,15 @@
|
||||
# Tekton Nakama Lua Server API Reference
|
||||
<a id="top"></a>
|
||||
|
||||
|
||||
|
||||
> Auto-generated from source code. For AI agents -- call these RPCs without reading Lua.
|
||||
|
||||
## Table of Contents
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
1. [Authentication & Core (core.lua)](#1-authentication--core-coreluau)
|
||||
2. [Utilities (utils.lua)](#2-utilities-utilsluau)
|
||||
3. [User Module (user.lua)](#3-user-module-userluau)
|
||||
@@ -22,8 +28,14 @@
|
||||
|
||||
## 1. Authentication & Core (`core.lua`)
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
### After-Hook: `after_authenticate_steam`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Trigger** | `AuthenticateSteam` |
|
||||
@@ -36,6 +48,9 @@
|
||||
|
||||
### Startup (not an RPC)
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
```
|
||||
nk.leaderboard_create("global_high_score", true, "desc", "best", nil, {})
|
||||
```
|
||||
@@ -46,10 +61,16 @@ Creates native leaderboard `"global_high_score"` on module load (also created in
|
||||
|
||||
## 2. Utilities (`utils.lua`)
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
Shared helpers used by other modules.
|
||||
|
||||
### Constants
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Constant | Value | Purpose |
|
||||
|---|---|---|
|
||||
| `ADMIN_ROLES` | `{admin=true, moderator=true, owner=true}` | Roles with admin privileges |
|
||||
@@ -60,6 +81,9 @@ Shared helpers used by other modules.
|
||||
|
||||
### `utils.is_admin(context)`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
Checks if caller has admin/moderator/owner role.
|
||||
|
||||
| Param | Type | Description |
|
||||
@@ -70,6 +94,9 @@ Checks if caller has admin/moderator/owner role.
|
||||
|
||||
### `utils.is_match_host(context, match_id)`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
Checks if caller is the host of a match.
|
||||
|
||||
| Param | Type | Description |
|
||||
@@ -82,14 +109,23 @@ Checks if caller is the host of a match.
|
||||
|
||||
### `utils.require_admin(context)`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
Errors with `"Admin privileges required"` if caller is not admin/moderator/owner.
|
||||
|
||||
### `utils.require_admin_or_host(context, match_id)`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
Errors with `"Admin or host privileges required"` if caller is neither admin nor match host.
|
||||
|
||||
### `utils.resolve_channel_id(channel_id)`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
Resolves a friendly room name (e.g. `"social_global"`) to a hashed Nakama channel ID.
|
||||
|
||||
| Param | Type | Description |
|
||||
@@ -103,8 +139,14 @@ Resolves a friendly room name (e.g. `"social_global"`) to a hashed Nakama channe
|
||||
|
||||
## 3. User Module (`user.lua`)
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
### RPC: `get_user_profile`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `user.rpc_get_user_profile` |
|
||||
@@ -137,6 +179,9 @@ Resolves a friendly room name (e.g. `"social_global"`) to a hashed Nakama channe
|
||||
|
||||
### RPC: `update_user_profile`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `user.rpc_update_user_profile` |
|
||||
@@ -162,6 +207,9 @@ Resolves a friendly room name (e.g. `"social_global"`) to a hashed Nakama channe
|
||||
|
||||
### RPC: `search_users`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `user.rpc_search_users` |
|
||||
@@ -193,6 +241,9 @@ Resolves a friendly room name (e.g. `"social_global"`) to a hashed Nakama channe
|
||||
|
||||
### RPC: `change_credentials`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `user.rpc_change_credentials` |
|
||||
@@ -223,6 +274,9 @@ Resolves a friendly room name (e.g. `"social_global"`) to a hashed Nakama channe
|
||||
|
||||
### RPC: `send_lobby_invite`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `user.rpc_send_lobby_invite` |
|
||||
@@ -250,6 +304,9 @@ Resolves a friendly room name (e.g. `"social_global"`) to a hashed Nakama channe
|
||||
|
||||
### RPC: `send_friend_request`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `user.rpc_send_friend_request` |
|
||||
@@ -277,6 +334,9 @@ Resolves a friendly room name (e.g. `"social_global"`) to a hashed Nakama channe
|
||||
|
||||
### RPC: `admin_get_user_history`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `user.rpc_admin_get_user_history` |
|
||||
@@ -303,6 +363,9 @@ Resolves a friendly room name (e.g. `"social_global"`) to a hashed Nakama channe
|
||||
|
||||
### After-Hook: `after_authenticate`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Trigger** | `AuthenticateDevice`, `AuthenticateEmail`, `AuthenticateCustom` |
|
||||
@@ -314,8 +377,14 @@ Resolves a friendly room name (e.g. `"social_global"`) to a hashed Nakama channe
|
||||
|
||||
## 4. Economy Module (`economy.lua`)
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
### Shop Catalog
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
Hardcoded items available for purchase:
|
||||
|
||||
| ID | Name | Category | Gold | Star | Rarity | Character |
|
||||
@@ -335,6 +404,9 @@ Hardcoded items available for purchase:
|
||||
|
||||
### RPC: `get_shop_catalog`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `economy.rpc_get_shop_catalog` |
|
||||
@@ -354,6 +426,9 @@ Hardcoded items available for purchase:
|
||||
|
||||
### RPC: `buy_currency`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `economy.rpc_buy_currency` |
|
||||
@@ -406,6 +481,9 @@ Hardcoded items available for purchase:
|
||||
|
||||
### RPC: `purchase_item`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `economy.rpc_purchase_item` |
|
||||
@@ -443,6 +521,9 @@ Hardcoded items available for purchase:
|
||||
|
||||
### RPC: `admin_set_featured_banners`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `economy.rpc_admin_set_featured_banners` |
|
||||
@@ -470,6 +551,9 @@ Hardcoded items available for purchase:
|
||||
|
||||
### RPC: `admin_get_featured_banners`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `economy.rpc_admin_get_featured_banners` |
|
||||
@@ -488,8 +572,14 @@ Hardcoded items available for purchase:
|
||||
|
||||
## 5. Gacha Module (`gacha.lua`)
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
### Gacha Banners
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Banner ID | Name | Currency | Pull 1 Cost | Pull 10 Cost | Pity At |
|
||||
|---|---|---|---|---|---|
|
||||
| `star` | Star Banner | star | 160 | 1440 | 90 |
|
||||
@@ -497,6 +587,9 @@ Hardcoded items available for purchase:
|
||||
|
||||
### Drop Rates
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Rarity | Probability | Pool Items |
|
||||
|---|---|---|
|
||||
| `real_prize` | 1.0% | `skin_gacha_rainbow_suit`, `skin_gacha_dragon_hat`, `skin_gacha_phantom_gloves`, `skin_gacha_neon_acc` |
|
||||
@@ -506,6 +599,9 @@ Hardcoded items available for purchase:
|
||||
|
||||
### Real Prize Catalog
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Item ID | Name | Category |
|
||||
|---|---|---|
|
||||
| `skin_gacha_rainbow_suit` | Rainbow Suit | costume |
|
||||
@@ -515,6 +611,9 @@ Hardcoded items available for purchase:
|
||||
|
||||
### Fragment Items
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| ID | Name | Rarity |
|
||||
|---|---|---|
|
||||
| `frag_common` | Common Fragment | common |
|
||||
@@ -523,6 +622,9 @@ Hardcoded items available for purchase:
|
||||
|
||||
### RPC: `perform_gacha_pull`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `gacha.rpc_perform_gacha_pull` |
|
||||
@@ -567,8 +669,14 @@ Hardcoded items available for purchase:
|
||||
|
||||
## 6. Leaderboard Module (`leaderboard.lua`)
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
### Leaderboard Config
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Property | Value |
|
||||
|---|---|
|
||||
| **ID** | `"global_high_score"` |
|
||||
@@ -579,6 +687,9 @@ Hardcoded items available for purchase:
|
||||
|
||||
### RPC: `get_leaderboard_stats`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `leaderboard.rpc_get_leaderboard_stats` |
|
||||
@@ -608,6 +719,9 @@ Hardcoded items available for purchase:
|
||||
|
||||
### RPC: `submit_score`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `leaderboard.rpc_submit_score` |
|
||||
@@ -636,6 +750,9 @@ Hardcoded items available for purchase:
|
||||
|
||||
### RPC: `sync_leaderboard`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `leaderboard.rpc_sync_leaderboard` |
|
||||
@@ -661,6 +778,9 @@ Hardcoded items available for purchase:
|
||||
|
||||
### RPC: `reset_stats`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `leaderboard.rpc_reset_stats` |
|
||||
@@ -679,6 +799,9 @@ Hardcoded items available for purchase:
|
||||
|
||||
### RPC: `admin_update_stats`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `leaderboard.rpc_admin_update_stats` |
|
||||
@@ -706,6 +829,9 @@ Hardcoded items available for purchase:
|
||||
|
||||
### RPC: `admin_delete_stats`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `leaderboard.rpc_admin_delete_stats` |
|
||||
@@ -722,6 +848,9 @@ Hardcoded items available for purchase:
|
||||
|
||||
### RPC: `admin_sync_leaderboard`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `leaderboard.rpc_admin_sync_leaderboard` |
|
||||
@@ -734,8 +863,14 @@ Hardcoded items available for purchase:
|
||||
|
||||
## 7. Inbox/Mail Module (`inbox.lua`)
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
### RPC: `admin_send_mail`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `inbox.rpc_admin_send_mail` |
|
||||
@@ -767,6 +902,9 @@ Hardcoded items available for purchase:
|
||||
|
||||
### RPC: `get_mail`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `inbox.rpc_get_mail` |
|
||||
@@ -795,6 +933,9 @@ Hardcoded items available for purchase:
|
||||
|
||||
### RPC: `claim_mail_reward`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `inbox.rpc_claim_mail_reward` |
|
||||
@@ -837,6 +978,9 @@ Array format: `[{type="star", amount=100}, {type="gold", amount=50}, {type="frag
|
||||
|
||||
### RPC: `delete_mail`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `inbox.rpc_delete_mail` |
|
||||
@@ -851,6 +995,9 @@ Array format: `[{type="star", amount=100}, {type="gold", amount=50}, {type="frag
|
||||
|
||||
### RPC: `save_mail_state`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `inbox.rpc_save_mail_state` |
|
||||
@@ -865,6 +1012,9 @@ Array format: `[{type="star", amount=100}, {type="gold", amount=50}, {type="frag
|
||||
|
||||
### RPC: `admin_list_mail`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `inbox.rpc_admin_list_mail` |
|
||||
@@ -881,6 +1031,9 @@ Array format: `[{type="star", amount=100}, {type="gold", amount=50}, {type="frag
|
||||
|
||||
### RPC: `admin_update_mail`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `inbox.rpc_admin_update_mail` |
|
||||
@@ -902,6 +1055,9 @@ Array format: `[{type="star", amount=100}, {type="gold", amount=50}, {type="frag
|
||||
|
||||
### RPC: `admin_delete_mail_server`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `inbox.rpc_admin_delete_mail_server` |
|
||||
@@ -920,8 +1076,14 @@ Array format: `[{type="star", amount=100}, {type="gold", amount=50}, {type="frag
|
||||
|
||||
## 8. Daily Rewards Module (`daily_rewards.lua`)
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
### Default Reward Schedule
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
| Day | Reward |
|
||||
@@ -934,6 +1096,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### RPC: `claim_daily_reward`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `daily_rewards.rpc_claim_daily_reward` |
|
||||
@@ -968,6 +1133,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### RPC: `get_daily_reward_state`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `daily_rewards.rpc_get_daily_reward_state` |
|
||||
@@ -989,6 +1157,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### RPC: `set_daily_reward_config` [Admin]
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `daily_rewards.rpc_set_daily_reward_config` |
|
||||
@@ -1003,6 +1174,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### RPC: `get_daily_reward_config_admin` [Admin]
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `daily_rewards.rpc_get_daily_reward_config_admin` |
|
||||
@@ -1013,8 +1187,14 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
## 9. Admin Module (`admin.lua`)
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
### RPC: `admin_kick_player`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `admin.rpc_admin_kick_player` |
|
||||
@@ -1038,6 +1218,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### RPC: `admin_ban_player`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `admin.rpc_admin_ban_player` |
|
||||
@@ -1063,6 +1246,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### RPC: `admin_unban_player`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `admin.rpc_admin_unban_player` |
|
||||
@@ -1077,6 +1263,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### RPC: `admin_get_ban_list`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `admin.rpc_admin_get_ban_list` |
|
||||
@@ -1085,6 +1274,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### RPC: `admin_get_server_stats`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `admin.rpc_admin_get_server_stats` |
|
||||
@@ -1108,6 +1300,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### RPC: `admin_end_match`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `admin.rpc_admin_end_match` |
|
||||
@@ -1123,6 +1318,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### RPC: `admin_set_user_role`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `admin.rpc_admin_set_user_role` |
|
||||
@@ -1142,6 +1340,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### RPC: `admin_topup_gold`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `admin.rpc_admin_topup_gold` |
|
||||
@@ -1152,6 +1353,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### RPC: `admin_clear_global_chat`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `admin.rpc_admin_clear_global_chat` |
|
||||
@@ -1168,6 +1372,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### RPC: `admin_list_users`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `admin.rpc_admin_list_users` |
|
||||
@@ -1178,6 +1385,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### RPC: `admin_delete_users`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `admin.rpc_admin_delete_users` |
|
||||
@@ -1198,6 +1408,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### RPC: `admin_get_user_detail`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `admin.rpc_admin_get_user_detail` |
|
||||
@@ -1215,6 +1428,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### RPC: `admin_update_user_identity`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `admin.rpc_admin_update_user_identity` |
|
||||
@@ -1236,6 +1452,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### RPC: `admin_set_user_password`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `admin.rpc_admin_set_user_password` |
|
||||
@@ -1255,6 +1474,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### RPC: `admin_get_player_list`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `admin.rpc_admin_get_player_list` |
|
||||
@@ -1263,6 +1485,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### RPC: `admin_get_chat_config`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `admin.rpc_admin_get_chat_config` |
|
||||
@@ -1273,6 +1498,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### RPC: `admin_set_chat_config`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `admin.rpc_admin_set_chat_config` |
|
||||
@@ -1291,6 +1519,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### RPC: `admin_purge_old_messages`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `admin.rpc_admin_purge_old_messages` |
|
||||
@@ -1306,6 +1537,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### RPC: `admin_list_channel_messages`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `admin.rpc_admin_list_channel_messages` |
|
||||
@@ -1323,6 +1557,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### RPC: `admin_delete_channel_message`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| **Function** | `admin.rpc_admin_delete_channel_message` |
|
||||
@@ -1340,20 +1577,32 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
## 10. Storage Collections Reference
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
### Collection: `"shop_config"`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Key | User | Permission Read | Permission Write | Schema |
|
||||
|---|---|---|---|---|
|
||||
| `featured_banners` | SYSTEM | 2 (public) | 0 (owner) | `{banners: [{item_id, ...}]}` |
|
||||
|
||||
### Collection: `"receipts"`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Key | User | Permission Read | Permission Write | Schema |
|
||||
|---|---|---|---|---|
|
||||
| `<idempotency_key>` | Owner | 1 (owner-read) | 0 (owner) | `{type, package_id/ item_id, status, changeset, receipt, processed_at, ...}` |
|
||||
|
||||
### Collection: `"inventory"`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Key | User | Permission Read | Permission Write | Schema |
|
||||
|---|---|---|---|---|
|
||||
| `<item_id>` | Owner | 1 (owner-read) | 0 (owner) | `{category, purchased_at, quantity}` (or `{acquired_via, purchased_at}` for skins) |
|
||||
@@ -1361,6 +1610,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### Collection: `"profiles"`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Key | User | Permission Read | Permission Write | Schema |
|
||||
|---|---|---|---|---|
|
||||
| `"pity_counters"` | Owner | 1 (owner-read) | 0 (owner) | `{star: N, gold: N}` (per-banner pity) |
|
||||
@@ -1369,12 +1621,18 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### Collection: `"history"`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Key | User | Permission Read | Permission Write | Schema |
|
||||
|---|---|---|---|---|
|
||||
| `"logins"` | Owner | 0 (no-read) | 0 (owner) | `{logins: [{time, ip}, ...]}` (max 20) |
|
||||
|
||||
### Collection: `"stats"`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Key | User | Permission Read | Permission Write | Schema |
|
||||
|---|---|---|---|---|
|
||||
| `"game_stats"` | Owner | 1 (owner-read) or 2 (public) | 1 (owner-write) or 0 (owner) | `{games_played, games_won, high_score, total_kills, total_deaths, avatar_url, loadout_character}` |
|
||||
@@ -1382,6 +1640,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### Collection: `"inbox"`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Key | User | Permission Read | Permission Write | Schema |
|
||||
|---|---|---|---|---|
|
||||
| `"personal"` | Owner | 1 (owner-read) | 0 (owner) | `{mails: [{id, title, content, sender, date, start_date, end_date, expiry_date, rewards, type}]}` |
|
||||
@@ -1389,12 +1650,18 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### Collection: `"daily_rewards"`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Key | User | Permission Read | Permission Write | Schema |
|
||||
|---|---|---|---|---|
|
||||
| `"state"` | Owner | 1 (owner-read) | 0 (owner) | `{claimed_days: [number], last_claim_date: "YYYY-MM-DD", month: "MM"}` |
|
||||
|
||||
### Collection: `"config"` (system-level)
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Key | User | Permission Read | Permission Write | Schema |
|
||||
|---|---|---|---|---|
|
||||
| `"daily_rewards"` | SYSTEM | 2 (public) | 0 (owner) | `{"MM": [{type, amount}, ...]}` (month->rewards map) |
|
||||
@@ -1403,12 +1670,18 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### Collection: `"bans"`
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Key | User | Permission Read | Permission Write | Schema |
|
||||
|---|---|---|---|---|
|
||||
| `<user_id>` | SYSTEM | 2 (public) | 0 (owner) | `{user_id, username, banned_by, banned_at, reason, expires}` |
|
||||
|
||||
### Collection: `"matches"` (per-user)
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Key | User | Permission | Schema |
|
||||
|---|---|---|---|
|
||||
| `<match_id>` | Owner | 0 (owner) | Match result data (keyed by match ID, varies) |
|
||||
@@ -1417,6 +1690,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
## 11. Leaderboard Config
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Property | Value |
|
||||
|---|---|
|
||||
| **ID** | `"global_high_score"` |
|
||||
@@ -1430,8 +1706,14 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
## 12. Error Strings Reference
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
### Auth errors (raised by utils)
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Error String | Trigger |
|
||||
|---|---|
|
||||
| `"Admin privileges required"` | Non-admin calls admin RPC |
|
||||
@@ -1440,6 +1722,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### Economy errors
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Error String | Trigger |
|
||||
|---|---|
|
||||
| `"Package ID required"` | `buy_currency` called without `package_id` |
|
||||
@@ -1454,6 +1739,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### User errors
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Error String | Trigger |
|
||||
|---|---|
|
||||
| `"Account not found"` | User ID doesn't exist |
|
||||
@@ -1469,6 +1757,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### Gacha errors
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Error String | Trigger |
|
||||
|---|---|
|
||||
| `"Banner ID required"` | Missing `banner_id` |
|
||||
@@ -1481,6 +1772,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### Leaderboard errors
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Error String | Trigger |
|
||||
|---|---|
|
||||
| `"Failed to submit score"` | Leaderboard write failed |
|
||||
@@ -1489,6 +1783,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### Inbox errors
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Error String | Trigger |
|
||||
|---|---|
|
||||
| `"mail_id required"` | Missing mail ID |
|
||||
@@ -1500,6 +1797,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### Daily reward errors
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Error String | Trigger |
|
||||
|---|---|
|
||||
| `"Already claimed today"` | `last_claim_date == today` |
|
||||
@@ -1508,6 +1808,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### Admin errors
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Error String | Trigger |
|
||||
|---|---|
|
||||
| `"Cannot kick yourself"` | Self-kick attempt |
|
||||
@@ -1532,8 +1835,14 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
## 13. Permission Levels
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
### Role Hierarchy
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Role | Can Call Admin RPCs | Can Modify Roles | Notes |
|
||||
|---|---|---|---|
|
||||
| `"player"` | No | No | Default role |
|
||||
@@ -1543,6 +1852,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### Auth Check Functions Summary
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Check | What It Allows |
|
||||
|---|---|
|
||||
| `utils.require_admin` | Any RPC gated by this. Roles: admin, moderator, owner |
|
||||
@@ -1551,6 +1863,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### Storage Permission Bits
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Value | Meaning |
|
||||
|---|---|
|
||||
| `0` | Owner only (no one can read/write except server) |
|
||||
@@ -1559,6 +1874,9 @@ Days 1-31, each day gives `star` currency: `min(10 + (day-1)*5, 100)`.
|
||||
|
||||
### System User ID
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
```
|
||||
00000000-0000-0000-0000-000000000000
|
||||
```
|
||||
@@ -1569,6 +1887,9 @@ Used for global/shared storage collections (bans, config, global_mail, shop_conf
|
||||
|
||||
## RPC Summary Table
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| RPC Name | Module | Auth | Admin? |
|
||||
|---|---|---|---|
|
||||
| `get_user_profile` | user | None | No |
|
||||
@@ -1626,6 +1947,9 @@ Used for global/shared storage collections (bans, config, global_mail, shop_conf
|
||||
|
||||
## Wallet Update Summary
|
||||
|
||||
[↑ Back to top](#top)
|
||||
|
||||
|
||||
| Operation | Changeset | Context |
|
||||
|---|---|---|
|
||||
| IAP: gold packages (verified) | `{gold: +N}` | `buy_currency` |
|
||||
|
||||
Reference in New Issue
Block a user