Administration tools, logging and anti-cheat.
このフォルダには 12 個のスクリプト があります。下のタブから選んでください。
Free (included in JRS Core) jrs_admin
jrs core Admin - admin menu, security and the JRS Discord bot
| Resource | jrs_admin |
| Folder | [ADMIN] |
| Version | 4.19.1 |
| Author | jrs team |
| Depends on | /server:4890, jrs_character, jrs_core, jrs_inventory, oxmysql |
| Interface | Yes (NUI) |
| Languages | ar, en |
| Code size | 19,484 Lua lines |
Commands
/-jrsadminmenu/adm/adminmenu/barber/clearfx/clothes/clothing/cure/curedisease/deletecharacter/fixheight/fixmouse/fixscale/playerscale/setscale/stts/wardrobe
Exports
AllowEvent, ApplySavedPlayerScale, BankNotify, BankNotifyPlayer, CanUseScriptAdminAction, ExemptTeleport, FixPlayerScale, GetAdminGroup, GetAdminJobCatalog, GetAllPlayerSessions, GetDiscordServerTag, GetLegacySpoonerStorage, GetPlayerDiscordRoles, GetPlayerPlaytime, GetPlayerSavedScale, GetPlayerSessionInfo, HasAdminPermission, HasProtectedScriptAccess, HasScriptAdminAccess, IsAdmin, IsJRSAdmin, IsOwnerAdmin, IsScriptAdminOwner, IsServerOwner, IsUnsafeString, LogExternalAdminAction, Notify, NotifyPlayer, RequireAdminPermission, SetCharacterScale
Database tables
IF, jrs_admin_action_logs, jrs_admin_character_scale, jrs_admin_chat_messages, jrs_admin_custom_role_members, jrs_admin_custom_role_permissions, jrs_admin_custom_roles, jrs_admin_jail, jrs_admin_known_staff, jrs_admin_map_blips, jrs_admin_meta, jrs_admin_playtime, jrs_admin_report_messages, jrs_admin_reports, jrs_admin_security_alerts, jrs_admin_security_tokens, jrs_admin_server_state, jrs_admin_warn_history, jrs_admin_warns, jrs_player_bans
jail/config.lua - 6 項目#
General
| Setting | Default | What it does |
|---|---|---|
Jails |
table |
jails のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
ExitFromJail |
table |
exit from jail のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
jailed_player |
'You have been imprisoned by... |
jailed player の設定。 |
released_player |
"You were released from prison" |
released player の設定。 |
query_error |
"A database error occurred." |
query error の設定。 |
increase_time |
"Jail time increased by " |
increase time の設定。 |
Notes from the README#
# jrs_admin
RedM admin menu, security suite and Discord bot for JRS-framework servers.
## Requirements
- FXServer artifact `/server:4890` or newer (RedM)
- [oxmysql](https://github.com/overextended/oxmysql)
- `jrs_core`
- `jrs_character`
- `jrs_inventory`
- Node.js dependencies for the bundled Discord bot are already vendored under
`node_modules/`. If you ever need to reinstall them, run `yarn install`
(or `npm install`) inside this resource's folder — the only real npm
dependency is `discord.js`.
## Features
- Player admin actions (teleport, heal, freeze, spectate, kick/ban, warn,
inventory tools, job/level tools) with permission-gated tabs.
- Reports desk, staff chat, direct messages.
- Live Map with persistent admin blips and live player/security overlays.
- Security dashboard / anti-cheat alerts (movement, economy anomalies).
- Server Control (resource start/stop, console command relay, action logs).
- Role manager: DB-managed custom roles on top of the base Discord tiers,
optionally linked to a live Discord role.
- Discord bot: slash-command panel, per-category audit webhooks, boot report.
- noclip / spooner / jail / TX integration.
## Installation
1. Import `[SQL]/jrs_admin.sql` into your database.
2. Drop this folder into `resources/[ADMIN]/jrs_admin` (or any resources
folder) and add `ensure jrs_admin` to `server.cfg`, after `jrs_core`,
`jrs_character`, `jrs_inventory` and `oxmysql`.
3. Restart the resource (or the server).
## First-run configuration (do this before going live)
These files are intentionally left editable (not encrypted by Cfx escrow),
because every server needs its own values here:
- **`config/permissions.lua` -> `DirectAdmins`**: put **your own** Steam
identifier(s) here as `server_owner`. Remove any example/placeholder value
that ships with the resource — leaving someone else's identifier in this
table gives that identifier full owner access on your server.
- **`config/server_private.lua` -> `Discord.BotToken`**: create your own
Discord application/bot in the
[Discord Developer Portal](https://discord.com/developers/applications)
and paste **your own** bot token here. Never reuse a token that shipped
with the resource or that you've shared anywhere else — rotate it
immediately if you're unsure whether it's still private.
- **`config/server_private.lua` -> `Webhooks`**: optional, per-category
Discord audit webhook URLs.
- **`config/main.lua` / `config/permissions.lua`**: rank names, tab access,Paid (server only) jrs_anticheat
JRS Anti-Cheat: server-authoritative event and network abuse protection
| Resource | jrs_anticheat |
| Folder | [ADMIN] |
| Version | 2.2.0-jrs |
| Author | ramelgaming (original); repaired edition |
| Interface | No |
| Code size | 2,199 Lua lines |
Commands
/anti_entity_bans/anti_entity_spawns/anti_entity_unban
Exports
CheckRate, RegisterProtectedEvent, ReportViolation
Notes from the README#
# JRS Anti-Cheat — RedM Edition 2.1.1-jrs
## JRS changes (2026-10-02)
- Integrity challenges, resource-stop kicks and heartbeat audit start only after
the client's first heartbeat (download finished) — first-time players are no
longer kicked while downloading. `NeverLoadedKickMs` (15 min, counted from
`playerJoining`) kicks an in-world client that never starts jrs_anticheat.
- Resource-stop reports are re-checked after 4 s; players who simply quit are not
logged or kicked.
- `removeAllWeaponsEvent` is blocked only when the target is another player's
ped (scripts may strip NPC/bot weapons).
- Invincibility telemetry off by default (`ReportInvincibility`) and skipped in
safezones / while dead (state bags `inSafeZone`, `isDead`).
- `DiscordIgnoreCodes`: teleport and unknown-origin signals stay console-only.
- Unknown-entity auto-ban disabled; console spam off; MaxActive raised;
restart grace 180 s. Original zip: `_jrs/_backups/jrs_anticheat_2.1.0_orig_2026-10-02`.
JRS Anti-Cheat is a framework-independent security resource for RedM. It can
run alongside `jrs_core`, `jrs_inventory`, and other resources without changing
their database or framework APIs.
## Installation
1. Remove or disable the old `Anti-Injection` resource.
2. Copy this folder to the server and keep its exact name: `jrs_anticheat`.
3. Add the following lines to `server.cfg` before `ensure jrs_anticheat`:
'''cfg
add_ace group.admin jrs_anticheat.bypass allow
add_ace group.admin jrs_anticheat.inspect allow
add_ace group.admin jrs_anticheat.manage allow
ensure jrs_anticheat
'''
The ACE permissions provide the following access:
- `jrs_anticheat.bypass`: exempts trusted administrators from applicable
anti-cheat checks.
- `jrs_anticheat.inspect`: allows administrators to inspect entity-spawn logs.
- `jrs_anticheat.manage`: allows administrators to view and remove persistent
entity-spawn bans.
The administrator identifiers must already inherit `group.admin`. Restart the
entire server after installing or updating the resource.
No SQL installation or `screenshot-basic` dependency is required.
## Main Protection Layers
The resource includes server-side protection against:
- Ped, animal, prop, and vehicle spawn flooding.
- Excessive active scripted entities per player.
- Entities created too far away from their network owner.
- Explicitly denied entity models.
- Particle, projectile, and explosion flooding.
- Amplified explosion damage and camera shake.Free (included in JRS Core) jrs_death_logs
JRS Core death logs - who died, how and by whom, to the console and Discord
| Resource | jrs_death_logs |
| Folder | [ADMIN] |
| Version | 1.0.0 |
| Author | JRS TEAM |
| Depends on | jrs_core |
| Interface | No |
| Code size | Lua 957 行 |
Free (included in JRS Core) jrs_doorlocks
jrs core Doorlocks 6.2.0 - Native RedM prompts for door use AND door registration + jrs core access + restart-safe door state
| Resource | jrs_doorlocks |
| Folder | [ADMIN] |
| Version | 6.2.1 |
| Author | jrs team |
| Depends on | jrs_character, jrs_core, jrs_inventory, oxmysql |
| Interface | Yes (NUI) |
| Languages | ar, en |
| Code size | 9,914 Lua lines |
Commands
/-jrs_door_lockpick/-jrs_door_toggle/canceld/canceldoor/cancelselect/testjob
Exports
CancelSelection, ClosestDoor, CreateDoor, GetAPI, GetDoorId, IsPlayerRestricted, Notify, SetPlayerRestricted
Database tables
does, jrs_doorlock_audit, jrs_doorlock_characters, jrs_doorlock_items, jrs_doorlock_jobs, jrs_doorlock_parts, jrs_doorlocks
config/main.lua - 217 項目#
General
| Setting | Default | What it does |
|---|---|---|
Version |
"6.2.0" |
version の設定。 |
Locale |
"ar" |
このスクリプトの表示言語(en または ar)。 |
EnableDev |
false |
dev のオン/オフ(初期値 false)。 |
Framework
| Setting | Default | What it does |
|---|---|---|
Framework |
table |
framework のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ CoreResource |
"jrs_core" |
core resource の設定。 |
↳ CharacterResource |
"jrs_character" |
character resource の設定。 |
↳ InventoryResource |
"jrs_inventory" |
inventory resource の設定。 |
↳ RequireCharacterReady |
true |
Requires character ready:true = はい、false = いいえ(初期値 true)。 |
↳ SyncRetryDelaysMs |
table |
Rehydrate the authoritative REDEMPIRE character/job after resource restarts and job changes. |
↳ InteractionRetryDelaysMs |
table |
interaction retry delays ms のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ RefreshIntervalMs |
15000 |
refresh interval ms の時間設定。単位(秒・分・ミリ秒)は通常、オプション名か近くのオプションのコメントに書かれています。 |
↳ PreferDatabaseJob |
true |
Job authorization is resolved server-side from the selected REDEMPIRE character and canonical characters.job/jobgrade row. This survives doorlocks/core restarts. |
↳ CharacterTableCandidates |
table |
Support both the canonical REDEMPIRE table and older server installs that still use the historical jrs_chrachter table name. Values are server-owned only. |
↳ JobCacheMs |
650 |
許可される対象:job cache ms の職業・グループ・権限。 |
↳ LoadDoorsBeforeCharacterReady |
true |
Door world state must load before character selection finishes. |
Database
| Setting | Default | What it does |
|---|---|---|
Database |
table |
database のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ AutoCreateSchema |
true |
Automatically handles create schema:true = はい、false = いいえ(初期値 true)。 |
↳ PersistRuntimeState |
true |
persist runtime state のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ ApplyStartStateOnBoot |
true |
On resource/server start restore the configured BASIC state (locked_on_start). Runtime lock/unlock is intentionally temporary and is not resumed after a restart. |
↳ MainTable |
"jrs_doorlocks" |
main table の設定。 |
↳ InitRetries |
10 |
init retries の数値(初期値 10)。 |
↳ InitRetryMs |
2000 |
init retry ms の数値(初期値 2000)。 |
↳ PushAfterDatabaseReady |
true |
push after database ready のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ LegacyAutoImport |
true |
If this REDEMPIRE table set is empty, import a compatible normalized legacy doorlock table set automatically before the bundled seed is considered. |
↳ AutoSeedBundledSqlIfEmpty |
true |
Automatically handles seed bundled sql if empty:true = はい、false = いいえ(初期値 true)。 |
↳ BundledSqlPath |
"sql/jrs_doorlocks.sql" |
bundled sql path の設定。 |
Full access / management
| Setting | Default | What it does |
|---|---|---|
FullAccessIdentifiers |
table |
full access identifiers のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
FullAccess |
table |
full access のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ BypassDoorAccess |
true |
bypass door access のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ AllowAllManagement |
true |
Allows all management:true = はい、false = いいえ(初期値 true)。 |
↳ ManagementAdminBypass |
true |
management admin bypass のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ ShowPromptForEveryDoor |
true |
Shows prompt for every door:true = はい、false = いいえ(初期値 true)。 |
↳ BypassInteractionDistance |
false |
Full Access bypasses permissions, never physical proximity. Even an administrator must stand beside the registered door to toggle it. |
Management |
table |
management のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ Create |
table |
create のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ Edit |
table |
edit のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ Admin |
table |
許可される対象:admin の職業・グループ・権限。 |
↳ OpenAll |
table |
open all のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
The player must be physically beside the nearest registered door part.
| Setting | Default | What it does |
|---|---|---|
DoorDistance |
1.50 |
door distance に適用されるゲーム内距離。 |
StreamDistance |
55.0 |
stream distance に適用されるゲーム内距離。 |
EnableDrawSprite |
true |
draw sprite のオン/オフ(初期値 true)。 |
Locking |
table |
locking のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ MaintainPhysicalState |
true |
maintain physical state のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ VerifyIntervalMs |
5000 |
verify interval ms の時間設定。単位(秒・分・ミリ秒)は通常、オプション名か近くのオプションのコメントに書かれています。 |
↳ VerifyNativeState |
true |
verify native state のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ GroupResyncOnMismatch |
true |
group resync on mismatch のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ LockedRatioTolerance |
0.015 |
locked ratio tolerance の数値(初期値 0.015)。 |
↳ ForceClosedOnLock |
true |
Custom MLO/YMAP fallback only when a real DoorSystem binding is unavailable. Calibrate the actual CLOSED pose once from /dooradmin for stubborn/custom doors. |
↳ FreezeEntityFallback |
true |
freeze entity fallback のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ RequestEntityControl |
true |
request entity control のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ EntityLookupFallback |
true |
entity lookup fallback のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ EntityLookupRadius |
2.25 |
entity lookup radius に適用されるゲーム内距離。 |
↳ EntityCacheMaxDrift |
1.35 |
A cached handle is accepted only while it is still an OBJECT with the exact door model and remains close to the SQL part position. This prevents stale door cache entries from freezing/rotating NPCs, horses or unrelated props. |
↳ EntityFallbackMaxDrift |
1.35 |
entity fallback max drift の上限。 |
↳ PhysicsReadyFallbackGraceMs |
5200 |
Restart safety: while an already-registered DoorSystem hash is waiting for its streamed physics binding, do not treat the visible object as a custom fallback. After this grace a true custom door may use the fallback path. |
↳ DoorSystemBindingGraceMs |
2200 |
door system binding grace ms の数値(初期値 2200)。 |
↳ RestartAdoptionSettleMs |
900 |
Restart settle window. Existing YMAP/Rockstar registrations can survive a resource restart while their object/physics transform is still settling. Do not write state, ratio or heading during this short adoption window. |
↳ NewRegistrationSettleMs |
500 |
new registration settle ms の数値(初期値 500)。 |
↳ CustomMapFallback |
true |
custom map fallback のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ CustomHashPrefix |
"jrs_custom_door" |
custom hash prefix に使うゲームモデルまたはエンティティ。 |
↳ FallbackHeadingToleranceDegrees |
4.0 |
fallback heading tolerance degrees の数値(初期値 4.0)。 |
↳ EntityControlTimeoutMs |
180 |
entity control timeout ms の時間設定。単位(秒・分・ミリ秒)は通常、オプション名か近くのオプションのコメントに書かれています。 |
↳ ForceShutNative |
true |
One-shot recovery for a real DoorSystem door only if forceUpdate still reports it open. It is never run continuously, so normal door animation remains natural. |
↳ DisableOpenRatioWhileLocked |
true |
Turns off open ratio while locked:true = はい、false = いいえ(初期値 true)。 |
↳ ForceShutOnInitialLock |
true |
Forces shut on initial lock:true = はい、false = いいえ(初期値 true)。 |
↳ MicroCloseCorrection |
true |
Some map doors report ratio 0 but remain visually ajar by a few degrees. This correction is intentionally tiny; large heading differences are never touched. |
↳ MicroCloseMinDegrees |
0.20 |
micro close min degrees の最小値または必要レベル。 |
↳ MicroCloseMaxDegrees |
8.0 |
micro close max degrees の上限。 |
↳ BoundFailureLegacyPoseFallback |
true |
but whose streamed MLO object does not visibly rotate. Legacy heading is considered only after native movement is proven ineffective, never as the normal closed pose for a bound door. |
↳ BoundFailureMinStartRatio |
0.08 |
bound failure min start ratio の最小値または必要レベル。 |
↳ BoundFailureMaxObservedMovementDegrees |
0.75 |
bound failure max observed movement degrees の上限。 |
↳ BoundFailureMaxLegacyCorrectionDegrees |
120.0 |
bound failure max legacy correction degrees の上限。 |
↳ BoundFailureRescueDurationMs |
420 |
bound failure rescue duration ms の時間設定。単位(秒・分・ミリ秒)は通常、オプション名か近くのオプションのコメントに書かれています。 |
↳ UseStartHeadingForBaseLockedClose |
true |
DoorSystem/MLO reports ratio=0 without moving the rendered object, REDEMPIRE may use this start pose as a bounded visual target. 135 degrees accepts a normal ~90-degree swing but still rejects a dangerous 180-degree reversal. |
↳ BaseLockedCloseMaxCorrectionDegrees |
135.0 |
base locked close max correction degrees の上限。 |
↳ HardPhysicalLock |
true |
Hard physical lock: once a door reaches the closed frame it is made immovable until an authoritative unlock is received. This applies to both Rockstar DoorSystem doors and custom-map physical fallbacks. |
↳ FreezeBoundEntityWhileLocked |
true |
freeze bound entity while locked のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ DisableEntityDynamicWhileLocked |
true |
Turns off entity dynamic while locked:true = はい、false = いいえ(初期値 true)。 |
↳ EnforceHardLockWhileNearby |
true |
enforce hard lock while nearby のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ TakeScriptOwnership |
false |
take script ownership のスイッチ:true = オン、false = オフ(初期値 false)。 |
↳ DisableAutomaticState |
false |
Turns off automatic state:true = はい、false = いいえ(初期値 false)。 |
↳ SmoothMovement |
true |
Lock closes toward DoorSystem ratio 0 before committing LOCKED. Unlock only releases the lock/physics; it never forces an old open pose. This prevents imported headings/ratio signs from visually reversing state. |
↳ SmoothCloseOnLock |
true |
smooth close on lock のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ AutoCloseOnLock |
true |
AutoClose is authoritative whenever SQL/server state is LOCKED. A door that streams in open is driven to the frame before hard-freezing. |
↳ AutoCloseOnStream |
true |
Automatically handles close on stream:true = はい、false = いいえ(初期値 true)。 |
↳ AutoCloseRetryCooldownMs |
900 |
auto close retry cooldown ms の時間設定。単位(秒・分・ミリ秒)は通常、オプション名か近くのオプションのコメントに書かれています。 |
↳ AutoCloseSettlePasses |
7 |
auto close settle passes の数値(初期値 7)。 |
↳ AutoCloseSettleIntervalMs |
55 |
auto close settle interval ms の時間設定。単位(秒・分・ミリ秒)は通常、オプション名か近くのオプションのコメントに書かれています。 |
↳ LockMoveDurationMs |
900 |
lock move duration ms の時間設定。単位(秒・分・ミリ秒)は通常、オプション名か近くのオプションのコメントに書かれています。 |
↳ TransitionTickMs |
0 |
transition tick ms の数値(初期値 0)。 |
↳ LockRetryDelaysMs |
table |
lock retry delays ms のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ UnlockRetryDelaysMs |
table |
Keep reasserting UNLOCK beyond restart/binding settle windows. The release operation is idempotent and also repairs a freeze left by an older instance. |
↳ UnlockStabilizeMs |
900 |
unlock stabilize ms の数値(初期値 900)。 |
↳ UnlockStabilizeIntervalMs |
250 |
unlock stabilize interval ms の時間設定。単位(秒・分・ミリ秒)は通常、オプション名か近くのオプションのコメントに書かれています。 |
Per-door values are stored in SQL and editable from /dooradmin.
| Setting | Default | What it does |
|---|---|---|
AutoClose |
table |
Existing doors inherit these defaults when the migration columns are added. |
↳ Enabled |
true |
enabled のオン/オフ(初期値 true)。 |
↳ DefaultEnabled |
true |
default enabled のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ DefaultDelayMs |
15000 |
default delay ms の時間設定。単位(秒・分・ミリ秒)は通常、オプション名か近くのオプションのコメントに書かれています。 |
↳ DefaultAutoLockAfterClose |
false |
default auto lock after close のスイッチ:true = オン、false = オフ(初期値 false)。 |
↳ MinDelayMs |
750 |
min delay ms の時間設定。単位(秒・分・ミリ秒)は通常、オプション名か近くのオプションのコメントに書かれています。 |
↳ MaxDelayMs |
30000 |
max delay ms の時間設定。単位(秒・分・ミリ秒)は通常、オプション名か近くのオプションのコメントに書かれています。 |
↳ OpenRatioThreshold |
0.08 |
open ratio threshold の数値(初期値 0.08)。 |
↳ HeadingOpenThresholdDegrees |
5.0 |
heading open threshold degrees の数値(初期値 5.0)。 |
↳ BlockWhilePlayerNear |
true |
Safety: do not swing a door through a player standing in the doorway. |
↳ PlayerBlockRadius |
0.38 |
player block radius に適用されるゲーム内距離。 |
↳ RetryWhileBlockedMs |
600 |
retry while blocked ms の数値(初期値 600)。 |
↳ MaxBlockedWaitMs |
8000 |
max blocked wait ms の時間設定。単位(秒・分・ミリ秒)は通常、オプション名か近くのオプションのコメントに書かれています。 |
↳ MoveDurationMs |
900 |
Physical close movement while the door remains logically UNLOCKED. |
↳ TransitionTickMs |
0 |
transition tick ms の数値(初期値 0)。 |
↳ DetectIntervalMs |
300 |
detect interval ms の時間設定。単位(秒・分・ミリ秒)は通常、オプション名か近くのオプションのコメントに書かれています。 |
↳ StateMaintainDistance |
24.0 |
state maintain distance に適用されるゲーム内距離。 |
↳ Notify |
false |
Automatic close/re-lock feedback is intentionally silent. Door movement/state still works normally; only the toast is suppressed. |
↳ ServerRequestDistance |
7.0 |
A client may request the configured auto-lock only while near the door. |
When a LOCKED door is successfully unlocked by a player, the server stores
| Setting | Default | What it does |
|---|---|---|
AutoRelock |
table |
a persistent deadline in SQL. When the deadline expires the authoritative state becomes LOCKED again; clients then run the normal full-close convergence before applying the hard physical lock. This survives resource/server restart |
↳ Enabled |
true |
enabled のオン/オフ(初期値 true)。 |
↳ DelaySeconds |
30 |
Player-forgotten door safety: exactly 30 seconds by default. DelaySeconds is authoritative. DelayMinutes remains supported by the server only as a backwards-compatible fallback for old configs. |
↳ IncludeLockpick |
false |
Lockpick robbery doors stay open after a successful break-in. Their runtime HoldOpen flag suppresses both server Auto-ReLock and client passive Auto-Close until somebody explicitly locks the door. |
↳ ScanIntervalMs |
250 |
Server scan interval for the current runtime session. A resource/server restart intentionally clears pending deadlines and restores locked_on_start. |
↳ MinDelaySeconds |
30 |
Maximum accepted configuration range. Defensive bounds prevent accidental zero/huge values from producing a tight loop or multi-year stale deadline. |
↳ MaxDelaySeconds |
3600 |
max delay seconds の時間設定。単位(秒・分・ミリ秒)は通常、オプション名か近くのオプションのコメントに書かれています。 |
↳ Audit |
true |
Audit system-triggered re-locks in jrs_doorlock_audit. |
Native prompts / controls
| Setting | Default | What it does |
|---|---|---|
Prompts |
table |
prompts のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ Enabled |
true |
enabled のオン/オフ(初期値 true)。 |
↳ Distance |
1.50 |
distance に適用されるゲーム内距離。 |
↳ GroupFallbackLabel |
"DOOR" |
Prompt description uses the canonical/original SQL name for the selected logical door. It never swaps to state/job/access/timer text. |
↳ DoorNameMaxLength |
48 |
door name max length の上限。 |
↳ Renderer |
"native" |
REDEMPIRE 6.0.0: native RedM/RDR3 prompt group. No gameplay NUI prompt is used. RedM places the native prompt group in its standard lower-right HUD area. |
↳ DescriptionMode |
"native" |
gameplay prompts use RedM natives only |
↳ DescriptionLabel |
"DOOR" |
description label でプレイヤーに表示されるテキスト。翻訳や名称変更をするときに変更します。 |
↳ ToggleKeyLabel |
"G" |
toggle key label に使うキーまたは操作。操作はゲーム入力リストのハッシュ値です。 |
↳ LockpickKeyLabel |
"X" |
lockpick key label に使うキーまたは操作。操作はゲーム入力リストのハッシュ値です。 |
↳ StableTarget |
true |
Prevent nearby doors from fighting for the prompt and changing its name. |
↳ TargetReleasePadding |
0.25 |
target release padding の数値(初期値 0.25)。 |
↳ TargetSwitchAdvantage |
0.35 |
target switch advantage の数値(初期値 0.35)。 |
↳ TargetSwitchHoldMs |
300 |
target switch hold ms の数値(初期値 300)。 |
↳ VisualReleasePadding |
0.25 |
Visual hysteresis: the HUD is released a little farther than the actual interaction radius and survives short streaming/snapshot misses. Inputs stay disabled outside Distance, so this does not weaken server/client range checks. |
↳ VisualHoldMs |
350 |
visual hold ms の数値(初期値 350)。 |
↳ ToggleLabel |
"LOCK / UNLOCK" |
toggle label でプレイヤーに表示されるテキスト。翻訳や名称変更をするときに変更します。 |
↳ LockpickLabel |
"LOCKPICK" |
lockpick label でプレイヤーに表示されるテキスト。翻訳や名称変更をするときに変更します。 |
↳ SelectionEnabled |
true |
Door registration / selection is a native RedM prompt group as well, so creating a door uses exactly the same interaction surface as using one. E = confirm the aimed physical door, BACKSPACE / X = cancel the registration. |
↳ SelectLabel |
"SELECT DOOR" |
select label でプレイヤーに表示されるテキスト。翻訳や名称変更をするときに変更します。 |
↳ SelectCancelLabel |
"CANCEL" |
select cancel label でプレイヤーに表示されるテキスト。翻訳や名称変更をするときに変更します。 |
↳ SelectGroupLabel |
"REGISTER DOOR" |
許可される対象:select group label の職業・グループ・権限。 |
↳ SelectAimLabel |
"AIM AT A DOOR" |
select aim label でプレイヤーに表示されるテキスト。翻訳や名称変更をするときに変更します。 |
↳ SelectReadyLabel |
"DOOR READY" |
select ready label でプレイヤーに表示されるテキスト。翻訳や名称変更をするときに変更します。 |
↳ SelectProgressLabel |
"DOOR %d / %d" |
select progress label でプレイヤーに表示されるテキスト。翻訳や名称変更をするときに変更します。 |
↳ SelectInputDebounceMs |
220 |
select input debounce ms に使うキーまたは操作。操作はゲーム入力リストのハッシュ値です。 |
↳ SelectionReleaseCooldownMs |
450 |
Short input freeze after the selection closes so the X used to cancel the selection cannot immediately register as a LOCKPICK press on the door the player is standing at. |
↳ UseKeyMapping |
false |
Direct RedM control polling is the default. RegisterKeyMapping can be intercepted/rebound by other resources on some builds and was causing G to appear dead even while the HUD was visible. |
↳ UseNativeCompletion |
false |
Prompt visuals are native RedM; input is read from RedM controls directly by default to avoid artifact-specific PromptHasStandardModeCompleted issues. |
↳ DirectControlFallback |
true |
direct control fallback のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ InputDebounceMs |
550 |
input debounce ms に使うキーまたは操作。操作はゲーム入力リストのハッシュ値です。 |
↳ AlwaysShowState |
true |
always show state のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ Priority |
3 |
priority の数値(初期値 3)。 |
Keys |
table |
0x17BEC168 was previously used here for "E"; that hash is INPUT_..._RIGHT, not E, so the physical-door selection confirm key never fired and no new door could ever be registered from /createdoor or /dooradmin. |
↳ select |
0xCEFD9220 |
E |
↳ lock |
0x760A9C6F |
G |
↳ lockpick |
0x8CC9CD42 |
X |
↳ cancel |
0x156F7119 |
BACKSPACE (X, ESC, and Right Click also supported as fallback) |
Commands |
table |
commands のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ Toggle |
"togglelock" |
toggle の設定。 |
↳ Create |
"createdoor" |
create の設定。 |
↳ Edit |
"editdoor" |
edit の設定。 |
↳ Admin |
"dooradmin" |
許可される対象:admin の職業・グループ・権限。 |
↳ Status |
"doorstatus" |
status の設定。 |
↳ Reload |
"doorreload" |
reload の設定。 |
↳ ClientStatus |
"doorclientstatus" |
client status の設定。 |
↳ PromptStatus |
"doorpromptstatus" |
prompt status でプレイヤーに表示されるテキスト。翻訳や名称変更をするときに変更します。 |
Lockpick / law alert
| Setting | Default | What it does |
|---|---|---|
Lockpick |
table |
lockpick のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ Enabled |
true |
enabled のオン/オフ(初期値 true)。 |
↳ Minigame |
true |
minigame のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ Resource |
"lockpick" |
resource の設定。 |
↳ Item |
"lockpick" |
item が使うインベントリアイテム。名前は jrs_items テーブルに存在する必要があります。 |
↳ RemoveOnSuccess |
false |
remove on success のスイッチ:true = オン、false = オフ(初期値 false)。 |
↳ RemoveOnFail |
true |
remove on fail のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ HoldOpenAfterSuccess |
true |
open/unlocked and is EXEMPT from all automatic close/re-lock paths. Manual/admin locking clears this runtime exemption. Resource/server restart also clears it and restores locked_on_start as normal. |
AlertLaw |
table |
alert law のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ Chance |
60 |
chance の確率または倍率。 |
↳ Distance |
500.0 |
distance に適用されるゲーム内距離。 |
↳ Jobs |
table |
許可される対象:jobs の職業・グループ・権限。 |
↳ Blip |
table |
blip のマップブリップまたはアイコン設定。 |
Integrated notifications
| Setting | Default | What it does |
|---|---|---|
Notifications |
table |
notifications のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ Enabled |
true |
enabled のオン/オフ(初期値 true)。 |
↳ Position |
"top-left" |
position に使うワールド座標(x, y, z)。 |
↳ MaxVisible |
3 |
max visible の上限。 |
↳ DefaultDurationMs |
3000 |
default duration ms の時間設定。単位(秒・分・ミリ秒)は通常、オプション名か近くのオプションのコメントに書かれています。 |
↳ SuccessDurationMs |
2800 |
success duration ms の時間設定。単位(秒・分・ミリ秒)は通常、オプション名か近くのオプションのコメントに書かれています。 |
↳ WarningDurationMs |
3200 |
warning duration ms の時間設定。単位(秒・分・ミリ秒)は通常、オプション名か近くのオプションのコメントに書かれています。 |
↳ ErrorDurationMs |
3600 |
error duration ms の時間設定。単位(秒・分・ミリ秒)は通常、オプション名か近くのオプションのコメントに書かれています。 |
↳ DedupeWindowMs |
1400 |
dedupe window ms の数値(初期値 1400)。 |
↳ RejectNoticeCooldownMs |
2200 |
reject notice cooldown ms の時間設定。単位(秒・分・ミリ秒)は通常、オプション名か近くのオプションのコメントに書かれています。 |
↳ ShowAccessType |
true |
Shows access type:true = はい、false = いいえ(初期値 true)。 |
↳ ShowJobContext |
false |
Shows job context:true = はい、false = いいえ(初期値 false)。 |
↳ DatabaseReadyNotice |
false |
database ready notice のスイッチ:true = オン、false = オフ(初期値 false)。 |
↳ SecurityRejectNotices |
true |
security reject notices のスイッチ:true = オン、false = オフ(初期値 true)。 |
Admin inspector
| Setting | Default | What it does |
|---|---|---|
AdminInspector |
table |
許可される対象:admin inspector の職業・グループ・権限。 |
↳ Enabled |
true |
enabled のオン/オフ(初期値 true)。 |
↳ Distance |
5.0 |
distance に適用されるゲーム内距離。 |
↳ RefreshMs |
250 |
refresh ms の数値(初期値 250)。 |
↳ PreferFacingDoor |
true |
prefer facing door のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ FacingDot |
-0.10 |
facing dot の数値(初期値 -0.10)。 |
↳ InspectUnregistered |
true |
inspect unregistered のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ UnregisteredRayDistance |
8.0 |
unregistered ray distance に適用されるゲーム内距離。 |
↳ UnregisteredFacingDot |
0.35 |
unregistered facing dot の数値(初期値 0.35)。 |
↳ AllowRegisterFromInspector |
true |
Allows register from inspector:true = はい、false = いいえ(初期値 true)。 |
↳ AllowTemporaryControl |
true |
Allows temporary control:true = はい、false = いいえ(初期値 true)。 |
Performance
| Setting | Default | What it does |
|---|---|---|
Performance |
table |
performance のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ SpatialIndex |
true |
spatial index のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ SpatialCellSize |
60.0 |
spatial cell size の数値(初期値 60.0)。 |
↳ ScanNearMs |
100 |
scan near ms の数値(初期値 100)。 |
↳ ScanActiveMs |
500 |
scan active ms の数値(初期値 500)。 |
↳ ScanIdleMs |
1000 |
scan idle ms の数値(初期値 1000)。 |
↳ CoordinateCacheMs |
150 |
coordinate cache ms の数値(初期値 150)。 |
↳ EntityPoolCacheMs |
1400 |
Kept for config compatibility. The door-entity fallback no longer builds a cached snapshot of the whole CObject pool (that drained the fwScriptGuid pool); it does a small area query around each door instead. |
↳ ActiveDoorCacheMs |
650 |
active door cache ms の数値(初期値 650)。 |
↳ InspectorCandidateDistance |
8.0 |
inspector candidate distance に適用されるゲーム内距離。 |
↳ StateMaintainDistance |
32.0 |
state maintain distance に適用されるゲーム内距離。 |
config/security.lua - 57 項目#
General
| Setting | Default | What it does |
|---|---|---|
Security |
table |
security のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ ConsoleLog |
true |
console log のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ ConsoleLogBenignRejects |
false |
console log benign rejects のスイッチ:true = オン、false = オフ(初期値 false)。 |
↳ AuditSecurityDenials |
true |
audit security denials のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ SessionMaxLength |
160 |
session max length の上限。 |
↳ RequireCharacterReadyForInteraction |
true |
Strong server-authoritative interaction envelope. Client supplied coordinates are NOT trusted for authorization in hardened mode. |
↳ InteractionServerDistance |
2.00 |
Server replicated coordinates can trail the client by a fraction of a metre, so the server envelope is only 0.50m wider than the 1.50m prompt. |
↳ InteractionProximityTolerance |
0.50 |
interaction proximity tolerance の数値(初期値 0.50)。 |
↳ ProximityTolerance |
0.50 |
proximity tolerance の数値(初期値 0.50)。 |
↳ MaxCreateDistance |
25.0 |
max create distance に適用されるゲーム内距離。 |
↳ MaxNameLength |
96 |
Payload / editor limits. |
↳ MaxItemNameLength |
64 |
max item name length の上限。 |
↳ MaxJobEntries |
64 |
max job entries の上限。 |
↳ MaxCharacterEntries |
128 |
max character entries の上限。 |
↳ MaxPayloadDepth |
6 |
max payload depth の上限。 |
↳ MaxPayloadNodes |
900 |
max payload nodes の上限。 |
↳ MaxPayloadString |
256 |
max payload string の上限。 |
↳ MaxPayloadNumberAbs |
1000000000000.0 |
max payload number abs の上限。 |
↳ ToggleCooldown |
600 |
Per-action cooldowns in milliseconds. |
↳ LockpickCooldown |
1600 |
lockpick cooldown の時間設定。単位(秒・分・ミリ秒)は通常、オプション名か近くのオプションのコメントに書かれています。 |
↳ AdminCooldown |
650 |
admin cooldown の時間設定。単位(秒・分・ミリ秒)は通常、オプション名か近くのオプションのコメントに書かれています。 |
↳ LoadCooldown |
5000 |
load cooldown の時間設定。単位(秒・分・ミリ秒)は通常、オプション名か近くのオプションのコメントに書かれています。 |
↳ AutoLockCooldown |
1200 |
auto lock cooldown の時間設定。単位(秒・分・ミリ秒)は通常、オプション名か近くのオプションのコメントに書かれています。 |
↳ GlobalBurstWindowMs |
1000 |
Global event burst protection before expensive framework/SQL work. |
↳ GlobalBurstMax |
20 |
global burst max の上限。 |
↳ GlobalBurstBlockMs |
5000 |
global burst block ms の数値(初期値 5000)。 |
↳ DoorMutationLockMs |
2200 |
Prevent concurrent state mutations on the same logical door. |
↳ ApplyReportSessionMs |
8000 |
Physical apply report must match the requesting source/audit/door. |
↳ LockpickSessionMs |
30000 |
Lockpick session validation. |
↳ LockpickMinimumMs |
1200 |
lockpick minimum ms の最小値または必要レベル。 |
↳ ExploitDropEnabled |
true |
Invalid/malicious requests accumulate strikes. Benign gameplay rejects do not. |
↳ ExploitStrikeWindowMs |
60000 |
exploit strike window ms の数値(初期値 60000)。 |
↳ ExploitStrikeThreshold |
24 |
exploit strike threshold の数値(初期値 24)。 |
↳ RestrictedStateKeys |
table |
restricted state keys に使うキーまたは操作。操作はゲーム入力リストのハッシュ値です。 |
Backward-compatible aliases.
| Setting | Default | What it does |
|---|---|---|
NUI |
table |
Kept here so the resource has exactly TWO config files. |
UnlockCommand |
Config.Commands.Toggle |
unlock command の設定。 |
CreateDoor |
table |
create door のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ Enabled |
true |
enabled のオン/オフ(初期値 true)。 |
↳ Command |
Config.Commands.Create |
command の設定。 |
↳ Permission |
Config.Management.Create.Per... |
許可される対象:permission の職業・グループ・権限。 |
↳ Group |
Config.Management.Create.Gro... |
許可される対象:group の職業・グループ・権限。 |
EditDoor |
table |
edit door のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ Enabled |
true |
enabled のオン/オフ(初期値 true)。 |
↳ Command |
Config.Commands.Edit |
command の設定。 |
↳ Permission |
Config.Management.Edit.Permi... |
許可される対象:permission の職業・グループ・権限。 |
↳ Group |
Config.Management.Edit.Group |
許可される対象:group の職業・グループ・権限。 |
↳ DeleteConfirm |
"delete" |
delete confirm の設定。 |
OpenAllDoors |
table |
open all doors のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ Enabled |
Config.Management.OpenAll.En... |
enabled の設定。 |
↳ Permission |
Config.Management.OpenAll.Pe... |
許可される対象:permission の職業・グループ・権限。 |
↳ Group |
Config.Management.OpenAll.Gr... |
許可される対象:group の職業・グループ・権限。 |
↳ ConsoleLog |
Config.Security.ConsoleLog |
console log の設定。 |
AlertJobs |
table |
許可される対象:alert jobs の職業・グループ・権限。 |
↳ AlertChance |
Config.AlertLaw.Chance |
alert chance の確率または倍率。 |
↳ AlertDistance |
Config.AlertLaw.Distance |
alert distance に適用されるゲーム内距離。 |
↳ Jobs |
Config.AlertLaw.Jobs |
許可される対象:jobs の職業・グループ・権限。 |
↳ Blip |
Config.AlertLaw.Blip |
blip のマップブリップまたはアイコン設定。 |
Notes from the README#
# REDEMPIRE Doorlocks 6.1.0
RedM door locking system for REDEMPIRE Core / REDEMPIRE Character / REDEMPIRE Inventory.
## Runtime
- Resource name: `jrs_doorlocks`
- Native RedM/RDR3 gameplay prompts only (`G` lock/unlock, `X` lockpick).
- Door registration is native prompts too (`E` select physical door, `X` cancel).
- Door prompt group title uses the original SQL door name.
- Server-authoritative REDEMPIRE job/grade/character/item access.
- REDEMPIRE Core and REDEMPIRE Character restart resynchronization without requiring the player to reconnect.
- 30-second forgotten-door auto close/re-lock remains server controlled.
- Successful lockpick robbery doors remain open until manually locked or the resource/server restarts.
- Resource/server start restores `locked_on_start`.
- Normalized SQL tables use the `jrs_doorlock*` names.
- If REDEMPIRE tables are empty, a compatible normalized legacy doorlock table family can be imported automatically before bundled seeding.
## Start order
'''cfg
ensure oxmysql
ensure jrs_core
ensure jrs_character
ensure jrs_inventory
ensure jrs_doorlocks
'''
The HTML/NUI is retained only for administration, the editor form, the inspector and notifications. Both nearby door interaction AND physical door selection dur
## Registering a door
1. `/createdoor` (or ADD DOOR in `/dooradmin`) opens the editor form.
2. Fill in name / access / auto-close and save. The form hides itself.
3. Aim at the physical door. The native prompt group shows `SELECT DOOR` (`E`) and `CANCEL` (`X`); the group title says whether the aimed object is a usable doo
4. Press `E` to confirm. A double door asks for the second leaf before it saves.
Every failure now returns a specific message (nothing selected, unreadable door, hash already registered, too far, no permission).Paid (server only) jrs_hurricane
JRS Hurricane - escalating storm weather tied to scheduled restart announcements
| Resource | jrs_hurricane |
| Folder | [ADMIN] |
| Version | 1.0.0 |
| Author | jrs |
| Depends on | jrs_core, weathersync |
| Interface | Yes (NUI) |
| Languages | ar, en |
| Code size | Lua 678 行 |
Commands
/cancelrestart/hurricaneclimax/hurricanestop/hurricanetest/startrestart
Exports
AdvanceStorm, CalmStorm, CancelRestart, GetStormState, StartRestartStorm, StopClimax, TriggerClimax
config/config.lua - 22 項目#
General
| Setting | Default | What it does |
|---|---|---|
Debug |
false |
Debug output for debug:true = はい、false = いいえ(初期値 false)。 |
Enabled |
true |
Master toggle. Set to false to fully disable the storm without unloading the resource. |
CoreResource |
"jrs_core" |
core resource の設定。 |
WeatherResource |
"weathersync" |
weather resource の設定。 |
RevertOnSkip |
true |
Revert to calm weather when txAdmin reports the scheduled restart was skipped/postponed (admin cancelled it, or a warning got skipped). |
TestAce |
"jrs.hurricane" |
Optional ACE permission for the manual test commands. add_ace group.admin jrs.hurricane allow |
AdminScope |
"hurricane" |
Scope key checked against jrs_admin's permission gateway (exports.jrs_admin:HasAdminPermission(src, Config.AdminScope)) as a fallback when the caller has no ACE grant. |
Read as: once secondsRemaining drops to/under threshold[i], the storm is
| Setting | Default | What it does |
|---|---|---|
TimeStageSeconds |
table |
at least stage (i + 1). Keep this list sorted highest-to-lowest. |
Stages |
table |
transition is the weathersync weather-transition time in seconds (how long the sky takes to morph into this stage); windSpeed is applied instantly, weathersync's setWind has no transition of its own. |
CalmWeather |
"sunny" |
Weather/wind restored when the storm is cleared (restart skipped, or /hurricanestop used by an admin). |
CalmWindSpeed |
1.0 |
calm wind speed の数値(初期値 1.0)。 |
CalmTransition |
20.0 |
calm transition の数値(初期値 20.0)。 |
NotifyDurationMs |
12000 |
notify duration ms の時間設定。単位(秒・分・ミリ秒)は通常、オプション名か近くのオプションのコメントに書かれています。 |
UseTxAdminAnnounce |
true |
Presentation settings: Uses txAdmin's in-game announcement banner (txcl:showAnnouncement) or jrs_admin's full-screen broadcast fallback so every player sees and hears the storm escalation. |
ShowCountdownCard |
true |
In-Game Countdown Card Settings: ShowCountdownCard: Set to false if you want only txAdmin native announcements/timers. |
UIPosition |
"top-right" |
'top-center-below-tx' (top center pushed down so tx messages appear above it) 'top-left' 'bottom-right' |
Climax |
table |
Climax settings: final violent phase when hurricane strikes (Stage 5 or <= 45s) |
↳ enabled |
true |
enabled のオン/オフ(初期値 true)。 |
↳ strikeLightning |
true |
Trigger native lightning strikes and screen flash on players |
↳ dismountHorses |
true |
Dismount / ragdoll players off horses and spook the mounts |
↳ shakeCamera |
true |
Ground/camera rumble from violent thunderclaps |
↳ intervalMs |
4500 |
Frequency of lightning and gusts during the climax |
Notes from the README#
# jrs_hurricane
Ties world weather to txAdmin's scheduled-restart announcements. Every time
txAdmin broadcasts a restart warning (`txAdmin:events:scheduledRestart`,
default warnings at 30/15/10/5/4/3/2/1 minutes remaining -- configured in
txAdmin's own scheduler), the storm gets one stage worse:
1. `clouds` -- dark clouds gather
2. `overcastdark` -- sky turns grey, wind picks up
3. `rain` -- rain starts falling
4. `thunderstorm` -- thunder and lightning (native RDR2 weather effects, no
extra scripting needed)
5. `hurricane` -- full storm, right around the final warning
Each stage change is broadcast to every player via weathersync's own server
API (`exports.weathersync:setWeather` / `:setWind`), so it stays in sync
exactly like the `/weather` command, and a bilingual (EN/AR) tip notification
goes out with it.
If an admin postpones/skips the restart (`txAdmin:events:scheduledRestartSkipped`),
the weather calms back down automatically.
## Requirements
- `weathersync` and `jrs_core` must be running (declared as `dependency` in
`fxmanifest.lua`).
- This is a txAdmin server; if txAdmin's monitor is ever unavailable, no
`scheduledRestart` events fire and the storm never starts -- that's by
design, there's nothing to escalate towards.
## Config
See `config/config.lua`:
- `Config.Enabled` -- master on/off switch.
- `Config.TimeStageSeconds` / `Config.Stages` -- when each stage kicks in and
what weather/wind it applies.
- `Config.RevertOnSkip` -- calm the weather back down if the restart is
postponed.
- `Config.TestAce` / `Config.AdminScope` -- who can use the manual test
commands.
## Manual testing
'''
/hurricanetest <secondsRemaining> -- jump the storm to the stage that time would trigger
/hurricanestop -- clear the storm and restore calm weather
'''
Both commands require the `jrs.hurricane` ACE permission (`add_ace group.admin
jrs.hurricane allow`) or `jrs_admin` admin access; the server console can
always use them.Free (included in JRS Core) jrs_imapviewtool
| Resource | jrs_imapviewtool |
| Folder | [ADMIN] |
| Version | 1.0.0 |
| Author | JRS TEAM |
| Interface | No |
| Code size | 4,238 Lua lines |
Commands
/iplDistanceView/removeAll/requestAll/testIpl/toggleIplView
Paid (server only) jrs_logs
jrs_logs - one log hub for every script: Discord, in-game viewer, or both
| Resource | jrs_logs |
| Folder | [ADMIN] |
| Version | 1.0.0 |
| Author | jrs team |
| Depends on | oxmysql |
| Interface | Yes (NUI) |
| Code size | 1,912 Lua lines |
Commands
/jrslogs_mode
Exports
GetMode, Ingest, Log, OpenViewer
Database tables
jrs_logs, jrs_logs_settings
config.lua - 17 項目#
jrs_logs - configuration
| Setting | Default | What it does |
|---|---|---|
Mode |
"both" |
'game' - stored in the database, shown in the in-game viewer only 'discord' - sent to Discord only (nothing stored) 'both' - stored in game AND sent to Discord |
Command |
"logs" |
Command that opens the viewer. |
ViewGroups |
table |
Who may open the viewer / change routing. jrs_admin groups, plus ACE: add_ace group.admin jrs_logs.view allow add_ace group.admin jrs_logs.manage allow |
ManageGroups |
table |
許可される対象:manage groups の職業・グループ・権限。 |
Ace |
table |
ace のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
RetentionDays |
30 |
logs older than this are deleted (0 = keep forever) |
PageSize |
60 |
rows per page in the viewer |
↳ Username |
"" |
empty: Discord shows each webhook's own name (the script name) and avatar |
↳ Avatar |
"" |
avatar の設定。 |
↳ Footer |
"REDEMPIRE · jrs_logs" |
footer の設定。 |
Builtin |
table |
Built-in logs that no other script writes. |
↳ Connections |
true |
join / leave (with drop reason) |
↳ Resources |
true |
resource start / stop after boot |
↳ TxAdmin |
true |
kicks, warns, bans, announcements, restarts |
↳ Chat |
true |
chat messages |
LiveToasts |
false |
In-game toast for staff when a new warning/danger log arrives while the viewer is closed (each admin can switch it off in the viewer). |
LiveToastLevels |
table |
live toast levels のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
Paid (server only) jrs_safezone
Safe zones, radar peek key, no-gallop sprint zones, and the RDO-style loading screen command
| Resource | jrs_safezone |
| Folder | [ADMIN] |
| Version | 1.4.1 |
| Author | JRS |
| Depends on | jrs_core, oxmysql |
| Interface | Yes (NUI) |
| Languages | ar, en |
| Code size | 2,550 Lua lines |
Commands
/reloadsafezones
Exports
GetCurrentSafeZone, GetZoneAtCoords, IsCityZoneAtCoords, IsNearAnySafeZone, IsNonWeaponProp, IsSafeZoneActive, IsSafeZoneActiveForPlayer, IsSafeZoneAtCoords, IsWeaponBlocked, IsWeaponBlockedForPlayer
Database tables
jrs_safezone_jail_log, jrs_safezones
config.lua - 117 項目#
General
| Setting | Default | What it does |
|---|---|---|
Locale |
"ar" |
اللغات المتوفرة: 'ar', 'en' (يتطابق تلقائياً مع لغة اللاعب عبر JrsLang) |
Framework |
"jrs" |
'jrs', 'auto' |
DevMode |
true |
الإعدادات العامة |
AdminPanel |
table |
許可される対象:admin panel の職業・グループ・権限。 |
↳ enabled |
true |
تفعيل لوحة الإدارة |
↳ command |
"managesafezone" |
أمر إدارة المناطق الآمنة |
↳ updateInterval |
1000 |
معدل التحديث (بالمللي ثانية) |
AdminCommand |
Config.AdminPanel.command |
許可される対象:admin command の職業・グループ・権限。 |
ClientTick |
table |
client tick のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ zoneLogic |
0 |
منطق التحقق من المنطقة |
↳ antiAbuseShoot |
50 |
مكافحة إساءة إطلاق النار |
↳ antiAbuseExplosives |
100 |
مكافحة إساءة المتفجرات |
↳ username |
"سجلات المناطق الآمنة" |
username の設定。 |
↳ avatar_url |
"" |
avatar url の設定。 |
↳ color |
16711680 |
color の数値(初期値 16711680)。 |
CheckInterval |
500 |
مدة التحقق من وجود اللاعب داخل منطقة آمنة (مللي ثانية) |
CombatTagDuration |
5000 |
مدة وسم القتال (5 ثواني) |
SoftWarningDistance |
20.0 |
مسافة التحذير قبل دخول المنطقة الآمنة |
DefaultRadius |
75.0 |
نصف القطر الافتراضي عند إنشاء منطقة جديدة |
MaxRadius |
1000.0 |
أقصى نصف قطر مسموح |
DefaultJailMinutes |
5 |
مدة السجن الافتراضية بالدقائق |
MaxJailMinutes |
1440 |
أقصى مدة سجن مسموحة بالدقائق |
DefaultJailLocation |
"sisika" |
موقع السجن الافتراضي |
DefaultHorseSpeed |
8.0 |
السرعة القصوى الافتراضية للحصان |
MaxHorseSpeed |
25.0 |
أقصى سرعة حصان مسموحة |
Admins |
table |
الإداريون |
ToggleBannerCommand |
"togglebanner" |
أمر إظهار / إخفاء الشريط |
Notifications |
table |
إعدادات الإشعارات |
↳ enterSafezone |
table |
enter safezone のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ exitSafezone |
table |
exit safezone のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ combatTag |
table |
combat tag のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ warningNearby |
table |
warning nearby のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
ExplosiveWeapons |
table |
الأسلحة المتفجرة |
AllowWeaponDrawing |
true |
السماح بإخراج وإشهار السلاح الجانبي (المسدسات والأفردة) داخل المنطقة الآمنة للتفاعل بدون إطلاق أو قتل |
BlockBackWeapons |
true |
منع سحب الأسلحة الثقيلة من الظهر (تبقى معلقة على ظهر الشخصية ولا يمكن سحبها باليد داخل المنطقة الآمنة) |
PreserveEquippedWeaponsOnEnter |
true |
الحفاظ على الأسلحة المجهزة على الظهر والخصر عند دخول المنطقة الآمنة ومنع حذفها أو إلغاء تجهيزها إجبارياً |
AllowFishingRodInSafezones |
true |
السنارة مسموحة في كل المناطق الآمنة (مو بس فان هورن) |
NonWeaponProps |
table |
بروبات / أدوات مو أسلحة: ما تنشال ولا تنمنع داخل المناطق الآمنة. المنع يكون فقط للأسلحة الفعلية (مسدسات، بنادق، سكاكين، فؤوس، قوس، متفجرات، حبل...). أضف أي بروب ثاني هنا بنفس الصيغة. |
TypeSettings |
table |
إعدادات أنواع المناطق |
↳ hard |
table |
hard のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ soft |
table |
soft のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ rp |
table |
rp のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
UI |
table |
إعدادات الواجهة |
↳ showBanner |
false |
إظهار الشريط |
↳ bannerText |
table |
banner text でプレイヤーに表示されるテキスト。翻訳や名称変更をするときに変更します。 |
↳ colors |
table |
colors のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ blurEffect |
false |
تأثير ضبابي |
↳ blurIntensity |
1.0 |
شدة الضباب |
↳ blurTimecycle |
"teaser_trainShot" |
blur timecycle の設定。 |
Admin |
Config.Admin or {} |
أوامر الإدارة |
ShowBlips |
false |
إعدادات العلامات على الخريطة |
BlipSprite |
"blip_ambient_ped_medium" |
نوع العلامة |
BlipColor |
"BLIP_MODIFIER_MP_COLOR_32" |
لون أخضر |
MapResourceName |
"RDR2CollectorsMap" |
اسم مورد الخريطة |
MapHtmlFile |
"index.html" |
ملف HTML |
ExemptJobs |
table |
الوظائف المستثناة من قوانين المنطقة الآمنة (خريطة مفتاح=قيمة وليس قائمة، لأن server.lua يتحقق منها بـ Config.ExemptJobs[jobName]) |
↳ bwsheriff |
true |
bwsheriff のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ valsheriff |
true |
valsheriff のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ armsheriff |
true |
armsheriff のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ armheriff |
true |
armheriff のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ twsheriff |
true |
twsheriff のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ stbsheriff |
true |
stbsheriff のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ rhdsheriff |
true |
rhdsheriff のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ sdsheriff |
true |
sdsheriff のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ annsheriff |
true |
annsheriff のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ marshal |
true |
marshal のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ sisika |
true |
sisika のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ police |
true |
police のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ sheriff |
true |
sheriff のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ pinkerton |
true |
pinkerton のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ guardgre |
true |
guardgre のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ guardred |
true |
guardred のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ guardyel |
true |
guardyel のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ guardblu |
true |
guardblu のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ REDEMPIRE |
true |
redempire のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ ALFIE |
true |
alfie のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ Guamrma |
true |
guamrma のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ guarma |
true |
guarma のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ repguard |
true |
repguard のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ president |
true |
president のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ justice |
true |
justice のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ bankman |
true |
bankman のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ kingdom |
true |
kingdom のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ paper |
true |
paper のスイッチ:true = オン、false = オフ(初期値 true)。 |
WeaponWorkerJobs |
table |
(تنظيف/تعديل/عرض) لكن الإطلاق معطل والضرر على اللاعبين ملغي. يشمل تلقائياً: صاحب أو موظف أي متجر لاعبين من نوع weapon_store (jrs_stores). الشرطي خارج الدوام (offpolice, offvalsheriff ...) يأخذ نفس المعاملة. |
↳ weapon |
true |
weapon のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ weaponstore |
true |
weaponstore のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ gunsmith |
true |
gunsmith のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ rguns |
true |
rguns のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ gunsmith_valentine |
true |
gunsmith valentine のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ gunsmith_tumbleweed |
true |
gunsmith tumbleweed のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ gunsmith_strawberry |
true |
gunsmith strawberry のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ gunsmith_blackwater |
true |
gunsmith blackwater のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ gunsmith_rhodes |
true |
gunsmith rhodes のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ gunsmith_guarma |
true |
gunsmith guarma のスイッチ:true = オン、false = オフ(初期値 true)。 |
↳ gunsmith_saintdenis |
true |
gunsmith saintdenis のスイッチ:true = オン、false = オフ(初期値 true)。 |
WeaponWorkerStoreType |
"weapon_store" |
weapon worker store type に使うゲームモデルまたはエンティティ。 |
Safezones |
table |
تعريف المناطق الآمنة |
DefaultZones |
Config.Safezones |
default zones の設定。 |
AntiAbuse |
table |
إعدادات مكافحة الاستغلال |
↳ logShootingFromInside |
true |
تسجيل إطلاق النار من الداخل |
↳ logShootingFromOutside |
true |
تسجيل إطلاق النار من الخارج |
↳ preventShootingFromInside |
true |
منع إطلاق النار من الداخل |
↳ logExplosiveAbuse |
true |
تسجيل إساءة المتفجرات |
↳ explosiveAbuseThreshold |
3 |
عدد المحاولات قبل الاشتباه |
↳ combatTagEnabled |
true |
تفعيل وسم القتال |
TempSafezones |
table |
تخزين المناطق المؤقتة (يتم تعبئتها أثناء التشغيل) |
Hides the minimap while the peek key is held, so the key that opens the
| Setting | Default | What it does |
|---|---|---|
RadarPeek |
table |
jrs_core level display (TAB) does not fight the radar for screen space. |
↳ Enabled |
true |
enabled のオン/オフ(初期値 true)。 |
↳ ControlHash |
0xAC4BD4F1 |
TAB / weapon wheel. Same hash jrs_core uses for its level peek, so the two stay in sync; change both together if you rebind. |
↳ PollMs |
50 |
How often the key is sampled, in ms. This is a radar toggle, not aiming: 50ms is imperceptible and costs a fraction of a per-frame loop. |
The actual sprint/shift control is already blocked by the zone's own
| Setting | Default | What it does |
|---|---|---|
HorseSprintNotify |
table |
"disable_shift" option above (same control hash horses use to sprint). This only adds a horse-specific toast so a mounted player gets a clearer reason than the generic enter-zone message. |
↳ Enabled |
true |
enabled のオン/オフ(初期値 true)。 |
RDO-style loading command (merged from jrs_key)
| Setting | Default | What it does |
|---|---|---|
LoadingCommand |
table |
loading command のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ Enabled |
true |
enabled のオン/オフ(初期値 true)。 |
↳ Command |
"rdo_loading" |
command の設定。 |
↳ HoldMs |
5000 |
hold ms の数値(初期値 5000)。 |
Paid (server only) jrs_scriptadmin
jrs core Script Admin - shared farm-styled admin panel every jrs core script renders its admin menu through.
| Resource | jrs_scriptadmin |
| Folder | [ADMIN] |
| Version | 1.0.0 |
| Author | jrs team |
| Interface | Yes (NUI) |
| Languages | ar, en |
| Code size | Lua 182 行 |
Exports
Close, IsOwner, Open, Update
Paid (server only) jrs_spooner
Spooner world entity editor with jrs_admin integration
| Resource | jrs_spooner |
| Folder | [ADMIN] |
| Version | 1.0.0 |
| Author | jrs team |
| Depends on | jrs_core, uiprompt |
| Interface | Yes (NUI) |
| Code size | 54,710 Lua lines |
Commands
/-spooner/spooner/spooner_db/spooner_migrate_old_dbs/spooner_savedb
Exports
Exit, IsActive
Notes from the README#
# 💻 Spooner
Documentation relating to the jrs_spooner.
## 1. Installation
jrs_spooner works Standalone.
To install jrs_spooner:
- Download the resource
- On [Github](https://github.com/Spooni-Development/jrs_spooner)
- Ensure that all requirements are installed
- [uiprompt](https://github.com/kibook/redm-uiprompt)
- Add the exec to the server.cfg
'''
exec @jrs_spooner/permissions.cfg
'''
- Add the permissions
'''
add_ace builtin.everyone jrs_spooner.view allow
add_ace builtin.everyone jrs_spooner.spawn allow
add_ace builtin.everyone jrs_spooner.modify.own allow
add_ace builtin.everyone jrs_spooner.delete.own allow
add_ace builtin.everyone jrs_spooner.properties allow
add_ace builtin.everyone jrs_spooner.noEntityLimit allow
add_ace builtin.everyone jrs_spooner.modify.other allow
add_ace builtin.everyone jrs_spooner.delete.other allow
'''
- Drag and drop the resource into your resources folder
- `jrs_spooner`
- Add this ensure in your server.cfg
- `ensure jrs_spooner`
- At the end
- Restart the server
If you have any problems, you can always open a ticket in the Spooni Discord.
## 2. Usage
## Cursor colours
| Colour | Meaning |
|--------|--------------------|
| white | No entity selected |
| green | Entity highlighted |
| blue | Entity attached |
## Controls
| Control | Function |
(line hidden)
| W/A/S/D | Move |
| Spacebar/Shift | Up/Down |
| E | Spawn |
| Left click | Entity highlighted: Attach, Entity attached: Detach |Paid (server only) jrs_voicemonitor
jrs_voicemonitor - your Discord voice channel in-game (avatars, talking, mute/deaf, LIVE, camera, in-game ID) - one resource, uses the jrs_admin bot
| Resource | jrs_voicemonitor |
| Folder | [ADMIN] |
| Version | 1.4.0 |
| Author | jrs team |
| Depends on | jrs_admin |
| Interface | Yes (NUI) |
| Code size | Lua 657 行 |
config.lua - 13 項目#
General
| Setting | Default | What it does |
|---|---|---|
Channels |
table |
Limit to these voice channel IDs (right-click the channel -> Copy Channel ID). Leave empty {} = any voice channel the player joins. |
TalkChannel |
"" |
sees who sends audio (it never records or decodes it). A bot can only be in one channel per Discord server, so the ring works in this channel only. '' = off. Right-click the channel -> Copy Channel ID. |
MaxUsers |
50 |
Cap on member rows shown for the channel. |
Access |
"all" |
Who can use it: 'all' = every player (each player can turn it off/on with /dc, remembered) 'staff' = staff only (see below) |
VisibleByDefault |
true |
On for players that never turned it off themselves. |
Ace |
"jrs_voicemonitor.view" |
* ace: add_ace group.admin jrs_voicemonitor.view allow * jrs_admin: staff that pass exports.jrs_admin:IsAdmin(src) * identifiers below (discord:/steam:/license:) |
UseJrsAdmin |
true |
jrs admin のオン/オフ(初期値 true)。 |
Identifiers |
table |
identifiers のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
ShowGameIds |
"staff" |
In-game server ID next to channel members who are on the server. 'staff' = only staff see it (recommended: links Discord identity to the player) 'all' = everyone sees it, false = nobody |
Commands |
table |
Chat commands |
↳ toggle |
"dc" |
turn the monitor off / on |
↳ settings |
"dcsettings" |
move it + settings (mouse) |
↳ hide |
"dchide" |
minimise to the title bar |
Free (included in JRS Core) weathersync
Time and weather synchronization
| Resource | weathersync |
| Folder | [ADMIN] |
| Version | 1.0.0 |
| Author | jrs team |
| Interface | Yes (NUI) |
| Languages | ar, en |
| Code size | 1,563 Lua lines |
Commands
/forecast/mytime/myweather/syncdelay/time/timescale/weather/weathersync/weatherui/wind
Exports
getForecast, getTime, getWeather, getWind, isSnowOnGround, resetSyncDelay, resetTime, resetTimescale, resetWeather, resetWeatherPattern, resetWind, setMyTime, setMyWeather, setSyncDelay, setSyncEnabled, setTime, setTimescale, setWeather, setWeatherPattern, setWind, toggleSync
config/config.lua - 39 項目#
day 0 (Sun) - 6 (Sat)
| Setting | Default | What it does |
|---|---|---|
time |
21600 |
06:00 Sunday (seconds into week) |
timescale |
30 |
Default ratio of in-game seconds to real seconds. Standard game time is 30:1, or 1 in-game minute = 2 real seconds. A value of 0 means time will be synced with the real server time. |
realTimeOffset |
0 |
If Config.timescale is 0, offset the real server time by this many seconds. |
timeIsFrozen |
false |
Whether time is frozen when the resource starts |
weatherInterval |
3600 |
1 hour in seconds |
weatherIsFrozen |
false |
Whether weather is frozen when the resource starts |
permanentSnow |
false |
Whether to permanently add snow on the ground, or only during snowy weather |
dynamicSnow |
false |
Whether to add snow on the ground when: a) in the snowy area of the map b) in the northern part of the map with snowy weather |
maxForecast |
23 |
Number of weather intervals to queue up |
windDirection |
0.0 |
Default wind direction when the resource starts |
windSpeed |
0.0 |
Default base wind speed when the resource starts |
windShearDirection |
45 |
Degrees by which wind direction changes at higher altitudes |
windShearSpeed |
2.0 |
Amount by which base wind speed increases at higher altitudes |
windShearInterval |
50.0 |
Interval in metres where wind direction/speed changes |
windIsFrozen |
false |
Whether wind direction is frozen when the resource starts |
syncDelay |
5000 |
How often in milliseconds to sync with clients |
All the numbers for the next stages must add up to 100.
| Setting | Default | What it does |
|---|---|---|
defaultGtaWeatherPattern |
table |
default gta weather pattern のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ clear |
table |
clear のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ clouds |
table |
clouds のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ foggy |
table |
foggy のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ overcast |
table |
overcast のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ clearing |
table |
clearing のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ rain |
table |
rain のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ thunder |
table |
thunder のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ extrasunny |
table |
extrasunny のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
defaultRdrWeatherPattern |
table |
default rdr weather pattern のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ sunny |
table |
sunny のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ clouds |
table |
clouds のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ overcastdark |
table |
overcastdark のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ misty |
table |
misty のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ fog |
table |
fog のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ overcast |
table |
overcast のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ drizzle |
table |
drizzle のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ rain |
table |
rain のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ thunder |
table |
thunder のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ thunderstorm |
table |
thunderstorm のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ hurricane |
table |
hurricane のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
↳ shower |
table |
shower のエントリ一覧。ファイル内の例に従って追加・削除・編集します。 |
disableSnowOnCayoPerico |
false |
Disable snowy weather and snow on ground when on Cayo Perico |
Notes from the README#
# FiveM/RedM weather and time sync
# Features
- Syncs time and weather for all players
- Configurable weather pattern
- Weather is queued so players can get a forecast of upcoming weather
- Different weather for different regions
- Adjustable timescale
- Players can temporarily disable sync and set local time/weather
# Examples
| Forecast and admin UI | Region-specific weather | Adjustable timescale |
|---|---|---|
| [](https://imgur.com/Scn0z0E) | [](https
# Installation
1. Create a `weathersync` folder within your resources directory, for example, `resources/[local]/weathersync`.
2. Copy the files from this repository into the `weathersync` folder.
3. Add the following to your `server.cfg`:
'''
exec resources/[local]/weathersync/permissions.cfg
start weathersync
'''
# Commands
| Command | Description |
(line hidden)
| `/forecast` | Displays a forecast of upcoming weather. |
| `/mytime` | Set local time (if sync is off). |
| `/myweather` | Set local weather (if sync is off). |
| `/syncdelay` | Set how often the server syncs with clients. |
| `/time` | Set the server time. |
| `/timescale` | Set the ratio of in-game seconds to real-time seconds. |
| `/weather` | Set the server weather. |
| `/weathersync` | Toggle time/weather sync on/off. |
| `/weatherui` | Opens the admin UI for changing the time/weather/wind. |
| `/wind` | Set the wind direction and base speed. |
# Configuration
| Variable | Description | Example |
(line hidden)
| `Config.time` | Default time when the resource starts. | `DHMSToTime(0, 6, 0, 0)` (Sun 06:00:00) |
| `Config.timescale` | Default timescale when the resource starts | `30` (30 in-game secs per real sec) |
| `Config.realTimeOffset` | Offset of the real server time in seconds. | `0` |
| `Config.timeIsFrozen` | Whether time is frozen when the resource starts. | `false` |
| `Config.weather` | Default weather when the resource starts. | `"sunny"` |
| `Config.weatherInterval` | How often the weather changes. | `DHMSToTime(0, 1, 0, 0)` (1 in-game hour) |
| `Config.weatherIsFrozen` | Whether weather is frozen when the resource starts. | `false` |
| `Config.permanentSnow` | Whether to permanently add snow on the ground. | `false` |
| `Config.dynamicSnow` | Whether to dynamically add snow on the ground. | `true` |