Skip to content

Mods & Plugins

  • Definition: Modifications that change or add to the base game
  • Installation: Usually require specific mod frameworks
  • Scope: Can completely alter gameplay, graphics, or mechanics
  • Examples: Minecraft Forge mods, Rust Oxide plugins, ARK Workshop mods
  • Definition: Add-ons that extend server functionality
  • Installation: Load through plugin systems like SourceMod or Bukkit
  • Scope: Typically focused on server administration or gameplay features
  • Examples: Bukkit plugins, SourceMod plugins, ULX modules
Minecraft:
- Bukkit/Spigot/Paper: Plugin-based (Bukkit API)
- Forge: Mod-based (Minecraft Forge API)
- Fabric: Mod-based (Fabric API)
- Vanilla: No modification support
Source Engine Games:
- SourceMod: Plugin-based system
- MetaMod: Plugin framework foundation
- Custom: Game-specific modifications
Other Games:
- Rust: Oxide/uMod plugin system
- ARK: Steam Workshop mod system
- Garry's Mod: Workshop content and Lua scripts

Installation Process:

  1. Download plugin from SpigotMC, Bukkit.org, or GitHub
  2. Stop your server
  3. Upload .jar file to /plugins/ directory
  4. Start server to generate configuration files
  5. Configure plugin in /plugins/PluginName/config.yml
  6. Reload or restart server to apply changes

Essential Bukkit Plugins:

Administration:
- EssentialsX: Core server commands and utilities
- LuckPerms: Advanced permission management
- WorldEdit: World editing and building tools
- Vault: Economy and permissions API
- ProtocolLib: Packet manipulation framework
Economy:
- Vault: Economy API foundation
- EssentialsX Eco: Basic economy system
- ChestShop: Player-run shops
- QuickShop: GUI-based shop system
- Jobs: Job-based economy system
Protection:
- WorldGuard: Region protection and flags
- GriefPrevention: Automatic land claiming
- LWC: Block and container protection
- CoreProtect: Block logging and rollback
- HawkEye: Advanced logging system
Gameplay:
- mcMMO: RPG skills and abilities
- MythicMobs: Custom mob creation
- Citizens: NPC creation and management
- PlaceholderAPI: Placeholder system for other plugins
- TabTwoComplete: Custom tab completion

Plugin Configuration Example:

# EssentialsX config.yml
server-name: "My Minecraft Server"
update-check: true
debug: false
teleport-safety: true
teleport-cooldown: 0
teleport-delay: 0
teleport-to-center: true
economy:
currency-symbol: "$"
max-money: 10000000
min-money: 0.01
starting-balance: 1000
protect:
disable-build: false
disable-use: false
disable-pvp: false
commands:
- nick
- clearinventory
- item
- time
- weather

Installation Process:

  1. Install Minecraft Forge on server
  2. Download compatible mods from CurseForge or Modrinth
  3. Stop server
  4. Place .jar files in /mods/ directory
  5. Start server and check for loading errors
  6. Configure mods in /config/ directory

Popular Forge Mods:

Technology:
- Applied Energistics 2: Advanced storage and automation
- Thermal Expansion: Machines and energy systems
- Mekanism: Chemical processing and power
- Industrial Craft 2: Classic tech mod
- Tinkers' Construct: Custom tool creation
Magic:
- Thaumcraft: Magical research and artifacts
- Botania: Nature-based magic system
- Blood Magic: Sacrifice-based magic
- Astral Sorcery: Stellar magic and constellation
- Ars Nouveau: Spell crafting system
Adventure:
- Twilight Forest: New dimension with dungeons
- Biomes O' Plenty: Additional biomes
- The Betweenlands: Swamp dimension
- Ice and Fire: Dragons and mythical creatures
- Mowzie's Mobs: Unique boss creatures
Utility:
- JEI (Just Enough Items): Recipe viewing
- Waila/HWYLA: Block information tooltips
- Iron Chests: Additional chest types
- Storage Drawers: Compact item storage
- JourneyMap: Minimap and waypoints

Installation Process:

  1. Install Fabric Loader on server
  2. Install Fabric API mod (required for most mods)
  3. Download Fabric mods from Modrinth or CurseForge
  4. Place .jar files in /mods/ directory
  5. Configure through mod-specific config files

Essential Fabric Mods:

Performance:
- Lithium: Server optimization
- Phosphor: Lighting engine optimization
- Sodium: Client-side rendering optimization (client-only)
- Hydrogen: Memory usage reduction
- FerriteCore: Memory optimization
Server Administration:
- Carpet: Technical features and debugging
- LuckPerms: Permission management
- Ledger: Block logging and rollback
- Simple Voice Chat: Proximity voice chat
- Dynmap: Web-based live map
Gameplay:
- Origins: Player races with unique abilities
- Immersive Portals: Advanced portal mechanics
- Carpet Extra: Additional technical features
- MiniHUD: Client-side information display
- Litematica: Schematic mod for building

Installation Process:

  1. Oxide comes pre-installed on Game Lords Rust servers
  2. Download plugins from uMod.org
  3. Upload .cs files to /oxide/plugins/ directory
  4. Plugin auto-compiles on server startup or reload
  5. Configure in /oxide/config/ directory

Essential Rust Plugins:

Administration:
- AdminRadar: See all players and entities on map
- VanishAdmin: Invisible admin mode
- BetterChatMute: Advanced player muting system
- CopyPaste: Copy and paste building structures
- NoEscape: Prevent combat logging
Economy:
- Economics: Server currency system
- Shop: Buy/sell items with server currency
- Trade: Secure player-to-player trading
- Reward: Daily login rewards
- GUIShop: Graphical shop interface
Quality of Life:
- RemoverTool: Easy building removal for admins
- StackSizeController: Adjust item stack sizes
- Teleportation: Player teleport system with cooldowns
- Kits: Predefined item kits for players
- HomeSystem: Set and teleport to home locations
PvP and Combat:
- Deathmatch: Arena-style combat events
- Clans: Team management system
- RaidableBases: AI-defended bases to raid
- EventManager: Server events and competitions
- BountyHunter: Player bounty system
Building and Crafting:
- BuildingRestriction: Limit building in certain areas
- CraftingController: Modify crafting recipes
- QuickSmelt: Faster smelting in furnaces
- AutoDoors: Automatic door closing
- SignArtist: Custom images on signs

Plugin Configuration Example:

{
"Settings": {
"Economy Plugin": {
"Starting Balance": 1000,
"Currency Symbol": "$",
"Max Balance": 1000000,
"Enable Banking": true,
"Interest Rate": 0.1
},
"Teleportation System": {
"Cooldown Time (seconds)": 300,
"Max Home Locations": 5,
"Cost Per Teleport": 50,
"Allow Teleport in Combat": false
}
}
}

Installation Process:

  1. Browse Steam Workshop for ARK mods
  2. Copy Workshop ID from URL (e.g., 1404697612)
  3. Add to server through control panel mod manager
  4. Or add to GameUserSettings.ini:
    ActiveMods=1404697612,123456789,987654321
  5. Restart server to download and load mods

Popular ARK Mods:

Creatures:
- Additional Creatures 2: Wild ARK: Expanded creature roster
- Ark Additions: Domination Rex: High-quality creatures
- Pyria: Mythical Creatures: Fantasy-themed creatures
- Primal Fear: Extremely powerful creature variants
- Crystal Isles Dino Collection: Unique crystal creatures
Structures and Building:
- Structures Plus (S+): Enhanced building system
- Eco's RP Decor: Decorative items and furniture
- Castles, Keeps, and Forts Medieval Architecture: Medieval buildings
- Advanced Architecture: Modern building pieces
- Glass Metal and Technology Structures: Futuristic buildings
Quality of Life:
- Awesome Spyglass: Enhanced creature information
- Super Spyglass: Advanced creature stats display
- HG Stacking Mod 10000: Increased stack sizes
- Death Recovery Mod: Retrieve items after death
- Dino Storage v2: Pokeball-style creature storage
Gameplay Overhauls:
- Annunaki Genesis: Complete game overhaul
- Extinction Core: Hardcore survival experience
- Shigo Islands: Island exploration focus
- The Center Redux: Enhanced map experience
- Thieves Island: Pirate-themed total conversion
# GameUserSettings.ini mod order example
# Core framework mods should load first
ActiveMods=731604991, # Structures Plus
895711211, # Classic Flyers
1404697612, # Awesome Spyglass
1300713111, # Rare Sightings
1609138312 # Dino Storage v2
# Dependencies must load before dependent mods
# Check each mod's requirements on Workshop page

Installation Process:

  1. SourceMod pre-installed on Game Lords Source servers
  2. Download plugins from AlliedModders.net
  3. Upload .smx files to /addons/sourcemod/plugins/
  4. Upload data files to /addons/sourcemod/data/
  5. Configure in /addons/sourcemod/configs/
  6. Reload plugins with sm plugins reload

Essential SourceMod Plugins:

Administration:
- Admin File Reader: Manage admin permissions
- Basic Commands: Core admin functionality
- Basic Chat: Chat management and colors
- Player Commands: Player information commands
- Fun Commands: Entertainment commands
Anti-Cheat and Protection:
- SourceBans++: Advanced banning system
- SmallBan: Simple ban management
- Anti-Flood: Prevent spam and flooding
- No-Steam ID Changer: Prevent ID spoofing
- VAC Status Checker: Monitor VAC bans
Game Enhancement:
- MapChooser: Advanced map voting system
- Rock the Vote: Player-initiated map votes
- Nominations Extended: Map nomination system
- NextMap: Display next map information
- Map Manager: Comprehensive map management
Statistics and Ranking:
- RankMe: Simple ranking system
- HLstatsX CE: Comprehensive statistics
- SteamWorks: Steam API integration
- Player Analytics: Detailed player tracking
- Achievement System: Custom achievements
Fun and Social:
- Quake Sounds: Audio rewards for achievements
- Chat Processor: Advanced chat formatting
- Simple Chat Colors: Colored chat names
- Spray Tracer: Track spray usage
- AFK Manager: Handle idle players

SourceMod Configuration Example:

addons/sourcemod/configs/databases.cfg
"Databases"
{
"driver_default" "mysql"
"default"
{
"driver" "mysql"
"host" "localhost"
"database" "sourcemod"
"user" "root"
"pass" ""
"timeout" "0"
"port" "3306"
}
}

Installation Methods:

  1. Steam Workshop Collections:
    +host_workshop_collection 123456789
  2. Individual Workshop Items:
    +host_workshop_map 104482086
  3. Legacy Addon System:
    • Upload to /garrysmod/addons/ directory
    • Extract .gma files or use folder structure

Essential GMod Addons:

Frameworks:
- DarkRP: Roleplay framework
- TTT (Trouble in Terrorist Town): Social deduction game
- Murder: Hide and seek with murder theme
- Prop Hunt: Props vs hunters
- Sandbox: Creative building mode
Administration:
- ULX Admin Mod: Comprehensive admin system
- ServerGuard: Alternative admin system
- FAdmin: Lightweight admin tools
- Evolve: Modern admin interface
- ASSMod: Classic admin system
Building and Tools:
- Wiremod: Advanced contraption building
- Advanced Duplicator 2: Save and share builds
- Precision Tool: Accurate building placement
- Smart Constraint: Intelligent constraint system
- Multi-Parent: Advanced parenting system
Vehicles and Mechanics:
- Simfphys: Realistic vehicle simulation
- VCMod: Vehicle customization system
- TDM Cars: Vehicle pack
- WAC Aircraft: Aircraft simulation
- LFS (Luna's Flight School): Aircraft pack
Visual and Audio:
- PAC3: Player and prop customization
- Enhanced Citizens: Better NPC models
- TFA Weapons: Realistic weapon pack
- M9K Weapons: Military weapon collection
- Enhanced Graphics: Visual improvements
backup-before-mods.sh
#!/bin/bash
SERVER_DIR="/path/to/server"
BACKUP_DIR="/path/to/backups"
DATE=$(date +%Y%m%d_%H%M%S)
echo "Creating backup before mod installation..."
# Create backup directory
mkdir -p "$BACKUP_DIR/pre_mod_$DATE"
# Backup essential directories
cp -r "$SERVER_DIR/world" "$BACKUP_DIR/pre_mod_$DATE/" 2>/dev/null || true
cp -r "$SERVER_DIR/plugins" "$BACKUP_DIR/pre_mod_$DATE/" 2>/dev/null || true
cp -r "$SERVER_DIR/mods" "$BACKUP_DIR/pre_mod_$DATE/" 2>/dev/null || true
cp -r "$SERVER_DIR/config" "$BACKUP_DIR/pre_mod_$DATE/" 2>/dev/null || true
# Backup configuration files
cp "$SERVER_DIR"/*.properties "$BACKUP_DIR/pre_mod_$DATE/" 2>/dev/null || true
cp "$SERVER_DIR"/*.cfg "$BACKUP_DIR/pre_mod_$DATE/" 2>/dev/null || true
cp "$SERVER_DIR"/*.yml "$BACKUP_DIR/pre_mod_$DATE/" 2>/dev/null || true
echo "Backup completed: $BACKUP_DIR/pre_mod_$DATE"
Pre-Installation Checklist:
Server Version:
- Verify game version compatibility
- Check framework version (Bukkit/Forge/Fabric)
- Confirm API version support
Dependencies:
- List required dependencies
- Check dependency versions
- Verify load order requirements
Conflicts:
- Research known incompatibilities
- Check with existing plugins/mods
- Review configuration conflicts
Resources:
- Estimate memory requirements
- Check storage space needed
- Consider CPU impact
Installation Phases:
Phase 1 - Core Dependencies:
- Install essential frameworks first
- Verify core functionality
- Test basic server operation
Phase 2 - Foundation Plugins/Mods:
- Add administration tools
- Install permission systems
- Configure basic protection
Phase 3 - Feature Additions:
- Add gameplay enhancements
- Install content mods
- Configure advanced features
Phase 4 - Optimization:
- Fine-tune configurations
- Optimize performance settings
- Test under load
test-installation.sh
#!/bin/bash
echo "Testing mod/plugin installation..."
# Test 1: Server startup
echo "Testing server startup..."
timeout 300 ./start-server.sh &
SERVER_PID=$!
# Wait for server to be ready
sleep 60
# Test 2: Check for errors
echo "Checking for errors in logs..."
if grep -i "error\|exception\|fail" server.log; then
echo "Errors found in server log!"
kill $SERVER_PID
exit 1
fi
# Test 3: Test basic functionality
echo "Testing basic server functionality..."
# Add game-specific functionality tests here
# Test 4: Performance check
echo "Checking server performance..."
# Monitor CPU and memory usage
# Cleanup
kill $SERVER_PID
echo "Installation test completed successfully"
mods-config.yml
global_settings:
auto_update: false
debug_mode: false
backup_before_update: true
minecraft_plugins:
essentialsx:
enabled: true
config:
currency_symbol: "$"
starting_balance: 1000
teleport_cooldown: 300
worldguard:
enabled: true
config:
default_protection: true
allow_tnt: false
allow_fire_spread: false
rust_plugins:
economics:
enabled: true
config:
starting_balance: 500
max_balance: 1000000
teleportation:
enabled: true
config:
cooldown: 300
max_homes: 5
{
"mod_versions": {
"minecraft": {
"server_version": "1.20.1",
"bukkit_version": "1.20.1-R0.1-SNAPSHOT",
"plugins": {
"EssentialsX": "2.20.1",
"WorldGuard": "7.0.9",
"LuckPerms": "5.4.102"
}
},
"rust": {
"server_version": "2023.11.24",
"oxide_version": "2.0.5822",
"plugins": {
"Economics": "3.9.11",
"Teleportation": "2.18.0",
"AdminRadar": "4.4.8"
}
}
}
}
update-mods.sh
#!/bin/bash
GAME_TYPE=$1
BACKUP_DIR="/backups"
DATE=$(date +%Y%m%d_%H%M%S)
if [ -z "$GAME_TYPE" ]; then
echo "Usage: $0 <minecraft|rust|ark>"
exit 1
fi
# Create backup before update
echo "Creating backup before update..."
mkdir -p "$BACKUP_DIR/pre_update_$DATE"
update_minecraft_plugins() {
echo "Updating Minecraft plugins..."
# Stop server
./stop-server.sh
# Backup current plugins
cp -r plugins "$BACKUP_DIR/pre_update_$DATE/"
# Download updates (example for essential plugins)
wget -O plugins/EssentialsX.jar "https://ci.ender.zone/job/EssentialsX/lastSuccessfulBuild/artifact/jars/EssentialsX-2.20.1.jar"
wget -O plugins/LuckPerms.jar "https://download.luckperms.net/1515/bukkit/loader/LuckPerms-Bukkit-5.4.102.jar"
# Start server
./start-server.sh
echo "Minecraft plugins updated"
}
update_rust_plugins() {
echo "Updating Rust plugins..."
# Backup current plugins
cp -r oxide/plugins "$BACKUP_DIR/pre_update_$DATE/"
# Update plugins using uMod API (if available)
# This would require custom implementation or manual process
echo "Rust plugins updated"
}
case "$GAME_TYPE" in
minecraft)
update_minecraft_plugins
;;
rust)
update_rust_plugins
;;
*)
echo "Unsupported game type: $GAME_TYPE"
exit 1
;;
esac
Common Dependency Problems:
Missing Dependencies:
- Symptoms: Plugin fails to load, dependency errors in console
- Solution: Install required dependencies first
- Prevention: Check plugin documentation for requirements
Version Mismatches:
- Symptoms: Compatibility errors, unexpected behavior
- Solution: Update dependencies to matching versions
- Prevention: Maintain version compatibility matrix
Load Order Issues:
- Symptoms: Some features don't work, initialization errors
- Solution: Adjust plugin load order
- Prevention: Understand plugin dependencies
Configuration Conflict Resolution:
Duplicate Features:
- Identify: Multiple plugins providing same functionality
- Resolve: Disable duplicate features in one plugin
- Prevent: Plan plugin selection carefully
Resource Conflicts:
- Identify: Port conflicts, file access issues
- Resolve: Change conflicting settings
- Prevent: Review configurations before installation
Permission Conflicts:
- Identify: Permission system interference
- Resolve: Use single permission system
- Prevent: Choose compatible permission plugins
monitor-plugin-performance.sh
#!/bin/bash
echo "Monitoring plugin performance..."
# Monitor CPU usage by process
echo "=== CPU Usage ==="
top -b -n 1 | grep java
# Monitor memory usage
echo "=== Memory Usage ==="
free -h
echo "Java heap usage:"
jstat -gc $(pgrep java) | tail -1
# Monitor disk I/O
echo "=== Disk I/O ==="
iostat -x 1 1
# Game-specific monitoring
echo "=== Game-Specific Metrics ==="
case "$1" in
minecraft)
echo "TPS (Ticks Per Second):"
# Use RCON or server console to get TPS
;;
rust)
echo "FPS and performance stats:"
# Monitor Rust-specific performance metrics
;;
esac
Performance Optimization Strategies:
Plugin Selection:
- Choose lightweight alternatives
- Remove unnecessary plugins
- Combine functionality where possible
- Regular performance audits
Configuration Tuning:
- Adjust update frequencies
- Limit resource-intensive features
- Optimize database queries
- Cache frequently accessed data
Resource Management:
- Monitor memory usage patterns
- Implement cleanup routines
- Limit concurrent operations
- Use efficient data structures
security-audit.sh
#!/bin/bash
echo "Performing security audit of plugins/mods..."
# Check for suspicious file permissions
echo "=== File Permissions ==="
find plugins/ -type f -perm /002 -ls
find mods/ -type f -perm /002 -ls 2>/dev/null
# Look for suspicious network connections
echo "=== Network Connections ==="
netstat -tulpn | grep java
# Check for unauthorized file modifications
echo "=== File Integrity ==="
find plugins/ -name "*.jar" -exec sha256sum {} \; > plugin_checksums.txt
find mods/ -name "*.jar" -exec sha256sum {} \; > mod_checksums.txt 2>/dev/null
# Review plugin sources and permissions
echo "=== Plugin Source Review ==="
echo "Review plugin download sources:"
echo "- Only download from official repositories"
echo "- Verify developer authenticity"
echo "- Check community reviews and ratings"
echo "- Scan for malware before installation"
Security Best Practices:
Plugin Sources:
- Use official repositories only
- Verify developer authenticity
- Check digital signatures
- Read community reviews
Permission Management:
- Principle of least privilege
- Regular permission audits
- Separate admin and user permissions
- Monitor permission changes
Update Security:
- Keep plugins updated
- Subscribe to security advisories
- Test updates in staging environment
- Maintain rollback capability
// MyPlugin.java - Basic Bukkit plugin structure
package com.example.myplugin;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.event.Listener;
import org.bukkit.event.EventHandler;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.ChatColor;
public class MyPlugin extends JavaPlugin implements Listener {
@Override
public void onEnable() {
// Plugin startup logic
getLogger().info("MyPlugin has been enabled!");
getServer().getPluginManager().registerEvents(this, this);
// Save default config
saveDefaultConfig();
}
@Override
public void onDisable() {
// Plugin shutdown logic
getLogger().info("MyPlugin has been disabled!");
}
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
String welcomeMessage = getConfig().getString("welcome-message", "Welcome to the server!");
event.getPlayer().sendMessage(ChatColor.GREEN + welcomeMessage);
}
}
// MyRustPlugin.cs - Basic Oxide plugin structure
using System;
using Oxide.Core.Plugins;
namespace Oxide.Plugins
{
[Info("My Rust Plugin", "YourName", "1.0.0")]
[Description("Example plugin for Rust")]
public class MyRustPlugin : RustPlugin
{
#region Configuration
private Configuration config;
public class Configuration
{
public string WelcomeMessage = "Welcome to our server!";
public int TeleportCooldown = 300;
}
protected override void LoadConfig()
{
base.LoadConfig();
config = Config.ReadObject<Configuration>();
SaveConfig();
}
protected override void SaveConfig() => Config.WriteObject(config);
#endregion
#region Hooks
void OnPlayerConnected(BasePlayer player)
{
PrintToChat(player, config.WelcomeMessage);
}
void OnPlayerSleepEnded(BasePlayer player)
{
// Player woke up logic
}
#endregion
#region Commands
[ChatCommand("home")]
void HomeCommand(BasePlayer player, string command, string[] args)
{
// Teleport home logic
PrintToChat(player, "Teleporting home...");
}
#endregion
}
}
Distribution Checklist:
Documentation:
- Installation instructions
- Configuration guide
- Command reference
- Permission list
- Changelog
Testing:
- Multiple server versions
- Various configurations
- Conflict testing
- Performance testing
- Security review
Packaging:
- Include all required files
- Default configuration
- License information
- Version information
- Dependency list
Publication:
- Official repositories
- Clear description
- Screenshots/videos
- Support channels
- Update notifications
  • Game-specific modding guides: Official developer documentation
  • Framework documentation: Bukkit, Forge, Fabric, SourceMod guides
  • API references: Comprehensive API documentation
  • Tutorial videos: Step-by-step installation guides
  • SpigotMC: Minecraft plugin community
  • MinecraftForge: Forge mod development
  • AlliedModders: SourceMod plugin community
  • uMod.org: Rust plugin repository and support
  • FacePunch: Rust modding discussions
  • Installation assistance: Help with plugin/mod installation
  • Configuration support: Optimize plugin settings
  • Conflict resolution: Resolve plugin/mod conflicts
  • Performance optimization: Improve server performance
  • Custom development: Professional plugin/mod development services
  • Complex multi-plugin setups
  • Custom gameplay requirements
  • Performance optimization needs
  • Security concerns
  • Integration challenges
Support Information:
Server Details:
- Game version and build
- Server software (Bukkit/Spigot/Paper/etc.)
- Server specifications
- Player count and activity
Plugin/Mod Information:
- Complete plugin/mod list
- Version numbers
- Configuration files
- Error messages and logs
Issue Details:
- Steps to reproduce
- Expected vs actual behavior
- Recent changes
- Impact on gameplay

Remember: Mods and plugins are powerful tools that can transform your server experience, but they require careful planning, installation, and maintenance. Always test changes in a staging environment before applying them to your production server, and maintain regular backups to ensure you can recover from any issues.