▌ Xsaddlegun — Overview
PRICE: Free
[ Saddlegun ]
• Convert any held weapon into a Saddlegun
→ Shoot your tribe's dinos to auto-equip a compatible saddle from your inventory
• Shoot the weapon again normally on non-valid targets
• Toggle command removes Saddlegun mode from the weapon
• Ownership check: only your tribe's tamed dinos can be saddled
• Already-saddled dinos are safely ignored
[ Saddle Detection ]
• Scans player inventory for compatible saddles
• Uses real ARK inventory transfer/equip logic
• Prevents fake/ghost saddle copies
• Skips blueprints, engrams, invalid items, and incompatible saddles
[ Priority System ]
• Tek saddles are always tried first
• Optional priority by highest armor
• Optional priority by saddle quality
• If both are enabled: armor wins before quality
• Long inventory lists are supported safely
[ Protection ]
• Configurable max range
• Per-player usage cooldown with
• Blocked dino list by name/class keyword
• Prevents stacking with Xcryogun/Xtamegun on the same weapon
[ Controls ]
• Custom command name
• ArkPermissions support
• Debug mode for troubleshooting saddle selection
• All messages fully customizable
---
▌ Commands (Chat + RCON)
---
▌ Requirements
• ARK ASE Server API installed
• ARK: Survival Evolved dedicated server
• ArkPermissions plugin (optional, for permission-gated command)
PRICE: Free
[ Saddlegun ]
• Convert any held weapon into a Saddlegun
→ Shoot your tribe's dinos to auto-equip a compatible saddle from your inventory
• Shoot the weapon again normally on non-valid targets
• Toggle command removes Saddlegun mode from the weapon
• Ownership check: only your tribe's tamed dinos can be saddled
• Already-saddled dinos are safely ignored
[ Saddle Detection ]
• Scans player inventory for compatible saddles
• Uses real ARK inventory transfer/equip logic
• Prevents fake/ghost saddle copies
• Skips blueprints, engrams, invalid items, and incompatible saddles
[ Priority System ]
• Tek saddles are always tried first
• Optional priority by highest armor
• Optional priority by saddle quality
• If both are enabled: armor wins before quality
• Long inventory lists are supported safely
[ Protection ]
• Configurable max range
• Per-player usage cooldown with
{seconds} remaining message• Blocked dino list by name/class keyword
• Prevents stacking with Xcryogun/Xtamegun on the same weapon
[ Controls ]
• Custom command name
• ArkPermissions support
• Debug mode for troubleshooting saddle selection
• All messages fully customizable
---
▌ Commands (Chat + RCON)
/xsaddlegun → toggles Saddlegun mode on held weaponxsaddlegun.reload → reload config---
▌ Requirements
• ARK ASE Server API installed
• ARK: Survival Evolved dedicated server
• ArkPermissions plugin (optional, for permission-gated command)
{
"Command": { // Chat command used to toggle Saddlegun mode on the held weapon.
"Enabled": true, // true = register the chat command. false = command disabled.
"Command": "/xsaddlegun", // Command players type while holding a weapon. Running it again removes Saddlegun from that weapon.
"Permissions": "Admins,VIP" // Optional ArkPermissions groups/permissions allowed to use it. Empty = everyone. More than one value: "Admins,VIP".
},
"Settings": { // General range, cooldown, notification, and debug settings.
"MaxRange": 3500.0, // Maximum distance in ARK units between player/mount and target dino.
"CooldownSeconds": 2, // Per-player cooldown after a handled Saddlegun shot.
"NotificationScale": 1.2, // Top-screen notification size.
"NotificationDisplayTime": 4.0, // Seconds notifications stay on screen.
"Debug": false // true = log saddle scan/ranking/transfer details to console. Keep false unless testing.
},
"SaddlePriority": { // Controls which compatible saddle is selected first from the player's inventory.
"PreferArmor": true, // true = highest armor wins. Tek saddles are always tried before non-Tek saddles.
"PreferQuality": false // true = higher quality tier wins. If PreferArmor is also true, armor wins before quality.
},
"BlockedDinos": [ // Partial match against dino display name and blueprint/class path. Empty = no custom blocks.
"wyvern queen", // Example: blocks dinos with "wyvern queen" in name/class path.
"titanosaur" // Example: blocks titanosaur matches.
],
"Messages": { // Player-facing messages.
"NoPermission": "You do not have permission to use Xsaddlegun.", // Player lacks required permission/group.
"NoWeapon": "Hold a weapon before using this command.", // Command used without a held weapon.
"OtherGunMode": "This weapon already has another gun mode. Remove it first.", // Weapon already has Xcryogun/Xtamegun marker/name.
"WeaponEnabled": "This weapon is now an Xsaddlegun.", // Saddlegun enabled on held weapon.
"WeaponDisabled": "Xsaddlegun removed from this weapon.", // Saddlegun removed from held weapon.
"BlockedDino": "This dino is blocked.", // Target matches BlockedDinos.
"OutOfRange": "The dino is too far away.", // Target is beyond MaxRange.
"Cooldown": "Xsaddlegun cooldown. Wait {seconds}s.", // {seconds} = remaining cooldown.
"AlreadySaddled": "This dino already has a saddle.", // Target already has a saddle equipped.
"NoSaddle": "No compatible saddle found in your inventory.", // No valid compatible saddle was found.
"Equipped": "Saddle equipped.", // Saddle was transferred/equipped successfully.
"ReloadSuccess": "Xsaddlegun config reloaded", // xsaddlegun.reload success.
"ReloadFailed": "Xsaddlegun reload failed: {error}" // xsaddlegun.reload failure. {error} = exception message.
}
}
"Command": { // Chat command used to toggle Saddlegun mode on the held weapon.
"Enabled": true, // true = register the chat command. false = command disabled.
"Command": "/xsaddlegun", // Command players type while holding a weapon. Running it again removes Saddlegun from that weapon.
"Permissions": "Admins,VIP" // Optional ArkPermissions groups/permissions allowed to use it. Empty = everyone. More than one value: "Admins,VIP".
},
"Settings": { // General range, cooldown, notification, and debug settings.
"MaxRange": 3500.0, // Maximum distance in ARK units between player/mount and target dino.
"CooldownSeconds": 2, // Per-player cooldown after a handled Saddlegun shot.
"NotificationScale": 1.2, // Top-screen notification size.
"NotificationDisplayTime": 4.0, // Seconds notifications stay on screen.
"Debug": false // true = log saddle scan/ranking/transfer details to console. Keep false unless testing.
},
"SaddlePriority": { // Controls which compatible saddle is selected first from the player's inventory.
"PreferArmor": true, // true = highest armor wins. Tek saddles are always tried before non-Tek saddles.
"PreferQuality": false // true = higher quality tier wins. If PreferArmor is also true, armor wins before quality.
},
"BlockedDinos": [ // Partial match against dino display name and blueprint/class path. Empty = no custom blocks.
"wyvern queen", // Example: blocks dinos with "wyvern queen" in name/class path.
"titanosaur" // Example: blocks titanosaur matches.
],
"Messages": { // Player-facing messages.
"NoPermission": "You do not have permission to use Xsaddlegun.", // Player lacks required permission/group.
"NoWeapon": "Hold a weapon before using this command.", // Command used without a held weapon.
"OtherGunMode": "This weapon already has another gun mode. Remove it first.", // Weapon already has Xcryogun/Xtamegun marker/name.
"WeaponEnabled": "This weapon is now an Xsaddlegun.", // Saddlegun enabled on held weapon.
"WeaponDisabled": "Xsaddlegun removed from this weapon.", // Saddlegun removed from held weapon.
"BlockedDino": "This dino is blocked.", // Target matches BlockedDinos.
"OutOfRange": "The dino is too far away.", // Target is beyond MaxRange.
"Cooldown": "Xsaddlegun cooldown. Wait {seconds}s.", // {seconds} = remaining cooldown.
"AlreadySaddled": "This dino already has a saddle.", // Target already has a saddle equipped.
"NoSaddle": "No compatible saddle found in your inventory.", // No valid compatible saddle was found.
"Equipped": "Saddle equipped.", // Saddle was transferred/equipped successfully.
"ReloadSuccess": "Xsaddlegun config reloaded", // xsaddlegun.reload success.
"ReloadFailed": "Xsaddlegun reload failed: {error}" // xsaddlegun.reload failure. {error} = exception message.
}
}