Skip to content

Repository files navigation

Rando - Conan Exiles Server Management Suite

A comprehensive toolkit for managing Conan Exiles dedicated servers with automated tuning, real-time monitoring, and intelligent event management.

๐ŸŽฏ Project Overview

This repository contains a complete server management solution that combines:

  • ๐ŸŒ™ MoonTide Wrath Manager: Automated server tuning based on real-world lunar cycles and calendar events
  • ๐Ÿ‘๏ธ Grim Observer: Real-time log monitoring with Discord integration and player event tracking
  • ๐Ÿงช Comprehensive Testing: Full test suites for both components with automated validation

๐Ÿš€ Quick Start

1. Server Tuning (MoonTide)

# Windows
cd MoonTide/wrath_manager
start_wrath_manager.bat exiled

# Linux/Mac
cd MoonTide/wrath_manager
python3 wrath_manager.py --ini-path /path/to/ServerSettings.ini --event-file events.json

2. Server Monitoring (Grim Observer)

# Windows
cd MoonTide/grim_observer
run_observer.bat exiled

# Linux/Mac
cd MoonTide/grim_observer
python3 grim_observer.py scan-monitor /path/to/ConanSandbox.log --map exiled --discord

3. Run Tests

# All tests
cd MoonTide/grim_observer
python3 run_tests.py

# Windows
run_tests.bat

๐Ÿ–ผ๏ธ IMPORTANT: Default Images Need Updating

โš ๏ธ The system currently uses placeholder images that MUST be replaced for production use.

๐ŸŽฏ Images That Need Updating

Discord Embed Images (Grim Observer)

  • thumbnail.png (96x96) - Currently placeholder skull icon
  • main_image.png (400x300) - Currently placeholder "CROM SLEEPS" message
  • footer_icon.png (16x16) - Currently placeholder sword icon
  • Map-specific variants for Exiled Lands and Isle of Siptah

Current Status

  • โŒ Using GitHub raw URLs (not suitable for production)
  • โŒ Placeholder content (generic skulls and text)
  • โŒ No branding (generic CROM aesthetic)

๐Ÿ”ง How to Update Images

Option 1: Upload Custom Images (Recommended)

  1. Create/obtain your custom images:

    • Server logo or branding
    • Themed artwork for your server
    • Professional graphics for Discord embeds
  2. Upload to image hosting service:

    • Imgur (free, reliable)
    • Discord (upload to your server)
    • Your own web server (HTTPS required)
  3. Use custom URLs in commands:

    python3 grim_observer.py scan-monitor log.log --map exiled --discord \
      --thumbnail-url "https://your-domain.com/your-thumb.png" \
      --main-image-url "https://your-domain.com/your-main.png" \
      --footer-icon-url "https://your-domain.com/your-icon.png"

Option 2: Update Default URLs in Code

Edit MoonTide/grim_observer/grim_observer.py and replace the default image URLs:

# Replace these placeholder URLs with your custom images
self.empty_server_images = {
    'thumbnail': 'https://your-domain.com/your-thumb.png',
    'main_image': 'https://your-domain.com/your-main.png', 
    'footer_icon': 'https://your-domain.com/your-icon.png'
}

Option 3: Use Generated Placeholder Images

The system includes a placeholder image generator for testing:

cd MoonTide/grim_observer
# Windows
generate_placeholders.bat
# Mac/Linux  
./generate_placeholders.sh

๐Ÿ“‹ Image Requirements

  • Format: PNG (transparent background support)
  • Dimensions:
    • Thumbnail: 96x96px
    • Main Image: 400x300px max
    • Footer Icon: 16x16px
  • Access: Must be publicly accessible via HTTPS
  • Size: Under 8MB for Discord compatibility

๐ŸŽจ Customization Ideas

  • Server branding and logos
  • Map-specific themes (Exiled Lands vs Siptah)
  • Seasonal variations for different events
  • Professional graphics for community engagement

๐Ÿ“ Project Structure

rando/
โ”œโ”€โ”€ MoonTide/                    # Main server management components
โ”‚   โ”œโ”€โ”€ wrath_manager/          # Automated server tuning system
โ”‚   โ”‚   โ”œโ”€โ”€ wrath_manager.py    # Core tuning engine
โ”‚   โ”‚   โ”œโ”€โ”€ events.json         # Event configuration
โ”‚   โ”‚   โ”œโ”€โ”€ EVENTS_DESIGN.md    # Event system documentation
โ”‚   โ”‚   โ””โ”€โ”€ tests/              # Tuning system tests
โ”‚   โ””โ”€โ”€ grim_observer/          # Real-time server monitoring
โ”‚       โ”œโ”€โ”€ grim_observer.py    # Core monitoring engine
โ”‚       โ”œโ”€โ”€ run_observer.bat    # Windows wrapper
โ”‚       โ”œโ”€โ”€ run_tests.py        # Test runner
โ”‚       โ”œโ”€โ”€ configs/            # Map-specific configurations
โ”‚       โ”œโ”€โ”€ placeholder_images/ # โš ๏ธ PLACEHOLDER IMAGES (UPDATE REQUIRED)
โ”‚       โ””โ”€โ”€ tests/              # Monitoring system tests
โ”œโ”€โ”€ README.md                    # This file
โ””โ”€โ”€ .gitignore                  # Git exclusions

๐ŸŒŸ Key Features

MoonTide Wrath Manager

  • Lunar Cycle Integration: Server settings automatically adjust based on real-world moon phases
  • Event System: Calendar events, seasonal changes, and custom triggers
  • Safe Automation: Automatic backups, idempotent writes, and rollback capability
  • MOTD Management: Dynamic message-of-the-day updates with event context

Grim Observer

  • Real-time Monitoring: Live log parsing with configurable intervals
  • Player Tracking: Connection/disconnection events with detailed logging
  • Discord Integration: Automated notifications for server events
  • Map Support: Exiled Lands and Isle of Siptah configurations
  • Empty Server Detection: Intelligent empty server messaging with configurable intervals

๐ŸŽฎ Supported Maps

  • Exiled Lands: The original Conan Exiles map
  • Isle of Siptah: The expansion map with unique mechanics

๐Ÿ› ๏ธ Requirements

  • Python 3.6+ for all components
  • Conan Exiles Dedicated Server (Windows/Linux)
  • Discord Webhook (optional, for notifications)
  • Windows: Batch file support for easy execution
  • Linux: Systemd integration for automated startup
  • Custom Images: Replace placeholder images for production use

๐Ÿ“š Documentation

๐Ÿ”ง Configuration

Environment Setup

  1. Clone the repository to your server
  2. Configure map-specific secrets in the respective directories
  3. Set up Discord webhooks (optional)
  4. Configure log file paths for your server setup

Map Configuration

Each map has its own configuration files:

  • configs/{map}/config.json - Map-specific settings
  • secrets/secrets.{map}.bat - Windows secrets (Windows only)
  • Environment variables for cross-platform compatibility

๐Ÿงช Testing

Automated Test Suite

# Run all tests
python3 run_tests.py

# Individual component tests
cd MoonTide/wrath_manager/tests
./run_all_tests.sh

cd MoonTide/grim_observer/tests
python3 test_scan_monitor_simple.py

Test Coverage

  • Configuration Loading: Secrets, config files, and environment variables
  • Event Detection: Player connections, disconnections, and edge cases
  • Discord Integration: Webhook payload generation and formatting
  • System Integration: End-to-end functionality validation

๐Ÿšจ Monitoring & Alerts

Real-time Notifications

  • Player Events: Join/leave notifications with player details
  • Empty Server: Configurable empty server messages (default: 4 hours)
  • System Status: Server health and configuration updates
  • Event Triggers: Moon phase changes and calendar events

Discord Integration

  • Rich embeds with server information
  • Player event tracking and history
  • Configurable notification intervals
  • Map-specific theming and branding

๐Ÿ”’ Security & Safety

  • No Secrets in Code: All sensitive data stored in external files
  • Automatic Backups: One backup per run with rotation
  • Idempotent Operations: Safe to run multiple times
  • Validation: Comprehensive input validation and error handling

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run the test suite
  5. Submit a pull request

๐Ÿ“„ License

This project is part of the MoonTide Conan Exiles server management suite.

๐Ÿ†˜ Support

For issues and questions:

  1. Check the documentation in each component directory
  2. Review the test outputs for common problems
  3. Check the troubleshooting sections in each README
  4. Ensure all dependencies are properly installed

"CROM does not coddle. The moon turns, the world hardens, and you either sharpen your blade or become bones under the sand."

About

random stuff

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages