Search the Community
Showing results for tags 'oxid'.
-
Version 1.1.2
262 downloads
Adds a marketplace terminal to each tool cupboard. This way, players can buy items without leaving home. The plugin is easy to install on your server; no additional settings are needed. You can also change the delivery fee (but the player must still have an additional 20 scrap in their inventory) This plugin uses the permission system Permissions: homeMarketplace.use - required to be able to use the marketplace To assign a permission, use: oxide.grant <user or group> <name or steam id> homeMarketplace.use To remove a permission, use: oxide.revoke <user or group> <name or steam id> homeMarketplace.use Config: { "Terminal offset": { "x": 0.42, "y": 0.68, "z": 0.3 }, "Delivery fee": 20 }$9.99 -
Version 1.0.5
95 downloads
DynamicData — Configurez sans limites « Plus aucune limite de configuration. Laissez libre cours à votre imagination. » DynamicData automatise l'application de vos fichiers de données (JSON) pour Rust selon une chronologie relative à l'effacement. Ajoutez vos profils (par plugin) , spécifiez quand ils doivent s'appliquer (par exemple, 2j4h, 6h30m, 1j@redémarrage) , et le plugin cible est rechargé avec la bonne configuration, immédiatement ou au prochain redémarrage. Objectif : moins d’opérations manuelles, moins d’erreurs, une progression de réinitialisation claire et amusante pour vos joueurs. Points forts Aucune limite : planifiez autant de profils que nécessaire, pour autant de plugins que vous le souhaitez. Délai d'activation flexible : immédiat ou au prochain redémarrage (idéal pour les changements importants). Progression naturelle des réinitialisations : rendez vos serveurs lisibles et motivants, dès le premier jour. Conçu pour être compatible : fonctionne avec tous les plugins utilisant des fichiers de données. Installation et démarrage rapide Déposez DynamicData.cs dans oxide/plugins et (re)chargez-le. Préparez vos fichiers JSON pour chaque plugin. Placez-les sous oxide/data/DynamicData/<Plugin>/... avec un suffixe temporel (et @restart si souhaité). Démarrez le serveur : DynamicData applique et recharge automatiquement les plugins cibles aux moments opportuns. Comment ça marche Placez vos profils JSON ici : oxide/data/DynamicData/<Plugin>/<Subfolder>/*.json (par exemple, DynamicData/RaidableBases/Profiles/Medium_2d.json) . Les fichiers comportent un suffixe temporel (\d+[dhms] peuvent être chaînés) et éventuellement @restart. Exemples : Easy_6h.json, [email protected] . DynamicData calcule chaque échéance à partir du Jour 1 (effacement) , ajoute une marge déterministe (quelques secondes) pour lisser les pics, puis copie le JSON vers l'emplacement de données du plugin cible et recharge ce plugin. If @restart is present, the profile is marked READY and only applies at the next reboot (useful for big changes). Structure & Naming Dynamic root: oxide/data/DynamicData (real-time watch on *.json). Destination: the base name (without the time suffix) becomes the final data file for the plugin (e.g., Profiles/Medium_2d.json ⇒ oxide/data/RaidableBases/Profiles/Medium.json). Valid suffixes: concatenations of d/h/m/s (e.g., 2d4h30m, 45m, 10s). Add @restart to force application on reboot. Important — Match the Target Plugin’s Official Directory Structure DynamicData applies your files only if the tree under oxide/data/DynamicData/<Plugin>/... mirrors exactly what the target plugin expects under oxide/data/<Plugin>/.... Golden rule Everything after <Plugin>/ in DynamicData must be the exact same path as in oxide/data/<Plugin>/... (same folders, same case, same filename). Concrete Examples oxide/data/DynamicData/RaidableBases/Profiles/Easy.json <- Default config (Important to place if you want a default config loaded) oxide/data/DynamicData/RaidableBases/Profiles/Medium.json+12h <- Config loaded after 12h of wipe oxide/data/DynamicData/RaidableBases/Profiles/Hard.json+2d <- Config loaded after 2 days of wipe oxide/data/DynamicData/RaidableBases/Profiles/Expert.json+4d@restart <- Config loaded after 4 days of wipe, only after a server restart Raidable Bases Evolving Over the Wipe Days 1–2: Easy + Medium profiles, 1 event, component-heavy loot; applied immediately at opening. Days 3–5: Medium + Hard profiles, 2–3 events, T2/T3 loot; applied on next restart for a smooth transition. Day 6+: Hard + Expert profiles, 3–4 events, rich loot (rare C4/Rockets), buffed NPCs; applied immediately on the morning of Day 6. One-Click Seasonal Pack Halloween (Oct 24 → 31): “Spooky” bases, themed loot, NPC +25%; trigger with @restart on 10/24. Other Plugins (any that read data files) Kits: Starter (D1–D2), weekend farm promo (D3–D5), advanced kits (D6+). BetterNPC: Calm day / Night +HP +accuracy / end-of-wipe heavy loadouts. Loot tables: progressive T2/T3 ramp, event boosts. NTeleportation: cooldowns and costs relax as the wipe progresses. Skins/SkinBox: automatic seasonal whitelists; off-season ⇒ vanilla/server set. Permissions dynamicdata.admin — access to commands (authLevel 1+ also accepted). oxide.grant group admin dynamicdata.admin Commands (console/RCON) dyndata.list – Shows Day 1 (wipe), last application, and next due time per plugin; marks [PAUSE] if applicable. dyndata.simulate <duration|all|*> – Simulates upcoming applications up to a horizon (e.g., 1h, 30m, 2d, all). Useful to verify your plan. dyndata.rescan – Immediate rescan of the DynamicData folder, applies what’s due, reschedules the rest. dyndata.pause <Plugin> – Pauses a plugin (no applications while paused). dyndata.resume <Plugin> – Resumes a previously paused plugin. Configuration (oxide/config/DynamicData.json) Available keys (defaults shown): LogLevel: "info" — levels: quiet, info, verbose. RateLimitPerMinute: 3 — limit of applications per minute (built-in queue). JitterMinSeconds: 5, JitterMaxSeconds: 30 — deterministic jitter per plugin/file to avoid bursts. MaxDataSizeBytes: 2000000 — max JSON size (safety). DisplayTimeZone: "Europe/Paris" — timezone for logs/displays. InterpretSaveCreatedAs: "auto" — how to interpret SaveCreatedTime if it lacks a timezone (auto, display-tz, server-local, utc). WipeDetectPriority: ["signature","files","serverinfo"] — wipe detection order: signature: seed/size/level change ⇒ wipe, files: detect via .map/.sav timestamps, serverinfo: SaveCreatedTime reported by the server. FileDetectionWindowHours: 12 — analysis window for .map/.sav files. FilePreGenToleranceHours: 2 — tolerance when files are pre-generated before boot. FileClampToBoot: true — if needed, clamps Day 1 to boot time to stay consistent. WipeLogShowUtc: false — also show UTC timestamps in wipe logs. ReloadTargetPlugin: true — auto-reload target plugin after copying. QuarantineStrayDynamicFiles: true — quarantines “stray” dynamic files in oxide/data/DynamicData.__quarantine__. Conseil : utilisez dyndata.simulate 2d pour valider votre plan avant une réinitialisation réelle. FAQ Q : Cela ne fonctionne-t-il qu'avec certains plugins ? A : Non, tout plugin qui utilise des fichiers de données (JSON) . Q : Dois-je redémarrer à chaque modification ? R : Non. Choisissez « immédiat (en direct) » ou « @restart » . Le plugin cible se recharge automatiquement. Q : Que se passe-t-il si je veux revenir en arrière ? R : Conservez vos profils intermédiaires (début/milieu/fin/saisonnier) et réactivez le précédent pour revenir à l'état souhaité. Q : Impact sur les performances ? R : Les applications sont occasionnelles, les rechargements sont ciblés, la limite de débit est configurable — impact négligeable pour un serveur standard.$19.99 -
Version 1.0.0
742 downloads
Fancy a bit of Centralized Banning without paying for RustAdmin or similar. What is Centralized banning? Centralized banning is the ability to ban a player on one server and have that ban logged across all of your servers. If you have a web server that runs php and mysql you can easily set it up. This is literally a simplified version of the RustyBan Centralized banning system for use with the server end point system. Installation is easy: Setup a sql user, database and API table. (my sql rip is at the bottom) Edit the Database.php file in API/config folder with your Database name, User and password. Drop the API files into your webserver drop the CentralBan.cs plugin into all your servers. Set the API URL in the oxide config file and run the CentralFirstRun command in console. then set your server.bansserverendpoint as your check.php?steamId= address Done! confused? Watch my video SQL CREATE TABLE `API` ( `id` int(11) NOT NULL, `steamId` varchar(17) NOT NULL, `Reason` text NOT NULL, `expiryDate` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=MyISAM DEFAULT CHARSET=latin1; ALTER TABLE `API` ADD PRIMARY KEY (`id`); ALTER TABLE `API` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; COMMIT;Free