Jump to content

RustCMS.net - Pre-Orders Started 13/5 1.4.4

$99.99 $49.99 · Renewal Term: $29.99/year
   (0 reviews)

2 Screenshots

  • 11.7k
  • 712
  • 1.92 MB

About RustCMS.net - Pre-Orders Started 13/5

V2.0 Development 

 

Release is set to 27-5-2025  (v2.0) 

📎Coming soon (Links to landing page/demo and v1 demo)

https://rustcms.net - Landing page / Central hub for updates 

https://demo.rustcms.net/  - Demo version of v2.0 (1 week before release)

https://demov1.rustcms.net/ - Demo version of v1.5 - (This one will be free to download)   - updated with Rustservers.gg API

 

# RustCMS Development Roadmap

 

This document outlines the planned development path for RustCMS, including completed milestones, current development priorities, and future enhancements.

 

##  Completed Milestones

 

## Initial Setup 

- Created project structure with the following directories:

  - app/

    - config/

    - controllers/

    - models/

    - views/

    - public/

      - css/

      - js/

      - images/

    - admin/

    - core/

- Set up basic file organization

- Initialized progress tracking file

 

## Core System Development 

- Created main application architecture

- Implemented core classes:

  - Application.php - Main application controller

  - Database.php - Database connection and query handling

  - Router.php - URL routing and request handling

  - Session.php - Session management and security

- Created autoloader for class loading

- Defined application routes in routes.php

- Created base controller class (BaseController.php)

- Implemented HomeController for the main page

 

## Frontend Development 

- Created view templates:

  - Main layout template (layouts/main.php)

  - Home page template (home.php)

  - Error pages (404.php, 500.php)

- Implemented responsive design using Bootstrap 5

- Added support for flash messages

 

## Installation System 

- Created installation wizard with multi-step process:

  - System requirements check

  - Database configuration

  - Site configuration

  - Admin account creation

  - Installation completion

- Implemented templates for each installation step

- Created configuration sample file (config.sample.php)

 

## Database Implementation 

- Created schema.sql with tables for users, servers, news, staff, pages, settings, server votes, and server status

- Implemented database installer script

- Updated installation process to create database and admin user

 

## Server Management 

- Created ServerController with methods for listing servers, viewing server details, and voting

- Added server status updating functionality

- Created server views directory

 

## Admin Panel Development

- Created admin controllers:

  - DashboardController.php - Admin dashboard with statistics

  - ServerController.php - Manage servers (CRUD operations)

  - UserController.php - Manage users (CRUD operations)

  - NewsController.php - Manage news articles (CRUD operations)

  - SettingsController.php - System settings management

- Updated routes to include admin functions

- Implemented permission control for admin area access

- Created admin panel views:

  - Admin layout template (layouts/admin.php)

  - Dashboard view with statistics (admin/dashboard.php)

  - Server management views (admin/servers/*)

  - User management views (admin/users/*)

- Added CSS and JavaScript for admin functionality

- Implemented responsive admin design using Bootstrap 5

 

## Authentication System

- Implemented AuthController with login, registration, and logout functionality

- Created login and registration form views

- Added password hashing and security measures

- Implemented session handling for logged-in users

- Added user role-based redirects after login

- Created user registration with validation and security checks

- Set up flash messages for authentication feedback

- Added password reset functionality with secure token-based system

- Created forgot password and reset password views

- Implemented email notification for password reset requests

 

## User Profile System 

- Implemented UserController with profile viewing and editing functionality

- Created user profile view with personal information display

- Added user social media integration (Steam, Discord)

- Implemented profile editing with validation

- Added avatar upload functionality

- Created user activity tracking

- Integrated server favorites display

 

## News Management System 

- Implemented news article creation interface

- Added news categories and tags functionality

- Created news listing and detail views

- Implemented featured news for homepage display

- Added rich text editor for content creation

- Implemented image uploads for news articles

- Added comment system for news articles:

  - User comment submission

  - Comment moderation system

  - Comment approval workflow

  - Admin comment management interface

- Implemented social media sharing for articles

- Added view count tracking for articles

- Created related articles functionality

 

## Staff Management System 

- Created StaffController for frontend display of staff members

- Implemented staff listing page with position grouping

- Added user profile integration for staff members

- Created admin StaffController for staff management

- Implemented admin staff listing page

- Added functionality to add new staff members

- Created edit functionality for staff positions and information

- Implemented staff deletion functionality

- Added display order control for staff members

- Created views for staff management in admin panel

- Added social media links for staff profiles (Steam, Discord)

 

## Custom Pages System 

- Created PageController for viewing custom pages on the frontend

- Implemented custom page view with metadata support

- Created admin PageController for page management

- Implemented admin page listing view

- Added functionality to create and edit custom pages

- Implemented rich text editor for page content

- Added SEO metadata management (title, description, keywords)

- Created publish/unpublish functionality for pages

- Added navigation menu integration for custom pages

- Implemented page deletion functionality

- Created URL slug generation and management

- Added menu ordering for pages displayed in navigation

 

## Server Management Enhancements 

- Set up RCON integration for Rust server management

  - Created RustRcon core class for RCON protocol implementation

  - Implemented RconController for admin panel

  - Added RCON console interface for server management

  - Added player management (view, kick, ban)

  - Added server info display

  - Added broadcast message functionality

  - Implemented command execution logging

- Implemented server status monitoring cron job

  - Created automated server status checking

  - Added player tracking

  - Implemented server information updating

 

## Server Statistics and Analytics 

- Implemented server statistics system

  - Created StatisticsController for admin panel

  - Added player count charts with multiple timeframes (day, week, month, year)

  - Implemented server uptime tracking and visualization

  - Added peak player time analysis

  - Created player growth charts

- Added player statistics functionality

  - Implemented top players tracking

  - Added unique player counting

  - Created recent players list

  - Added player connection history

 

## Server Backup Management

- Created BackupController for admin panel

- Implemented backup database tables

  - server_backups for storing backup records

  - server_backup_logs for tracking backup operations

- Added backup functionality

  - Create backups of Rust servers

  - Download server backups

  - Restore servers from backups

  - Delete backups

- Implemented backup settings management

  - Backup directory configuration

  - Automatic backup scheduling

  - Maximum backups per server setting

- Created backup views

  - Backup management overview (index.php)

  - Backup history for specific servers (history.php)

- Added backup integration with RCON

  - Server communication during backup operations

  - Server status management during restore

- Implemented backup logging and tracking

  - Record backup creation information

  - Track backup operations (create, download, restore, delete)

## Server Wipe Management System 

- Created WipeController for admin panel

- Implemented wipe database table (server_wipes)

- Added wipe management functionality:

  - Schedule wipes with different types (map, blueprint, full)

  - Execute wipes with automatic pre-wipe backups

  - Cancel scheduled wipes

  - Track wipe history per server

- Created wipe notification system:

  - Manual notification sending through admin panel

  - Automatic notification via cron job

  - Player broadcasts with time remaining information

- Implemented wipe views:

  - Wipe management overview (index.php)

  - Wipe history for specific servers (history.php)

  - Wipe scheduling form (schedule.php)

- Added integration with existing systems:

  - Backup system for pre-wipe and post-wipe backups

  - RCON system for server communication during wipes

  - Logging of all wipe-related actions

- Created cron job for automatic wipe notifications (notify_wipes.php)

 

# Plugin Management System

- Created database tables for plugin management:

  - server_plugins: store plugin metadata and status

  - plugin_configs: store plugin configuration values

- Implemented PluginController for admin panel

- Added plugin management functionality:

  - List plugins by server

  - Add new plugins with file uploads

  - View plugin details and configuration

  - Edit plugin information and configuration

  - Enable/disable plugins

  - Delete plugins

  - Reload plugins

- Implemented file handling for plugin management:

  - Upload plugin files (.cs for Oxide/uMod)

  - Upload plugin configuration files (JSON)

  - Download plugin files

- Added plugin configuration management:

  - Add/edit/delete configuration values

  - Support multiple data types (string, number, boolean, array, object)

  - Push configuration to server

  - Pull configuration from server

- Created plugin management views:

  - Plugin overview (index.php)

  - Server plugins (server.php)

  - Add plugin form (add.php)

  - Plugin details (view.php)

  - Edit plugin (edit.php)

- Updated admin navigation with new plugin management section

- Integrated with RCON system for server plugin 

- Created sample plugin and configuration files for testing

 

Sample plugin:

 

using System;
using System.Collections.Generic;
using Oxide.Core;
using Oxide.Core.Plugins;
using Oxide.Game.Rust;

namespace Oxide.Plugins
{
    [Info("Dfeault Plugin", "RustCMS", "1.0.0")]
    [Description("A simple example plugin for RustCMS")]
    class ExamplePlugin : RustPlugin
    {
        #region Configuration

        private Configuration config;
        
        class Configuration
        {
            public bool Enabled = true;
            public string WelcomeMessage = "Welcome to the server!";
            public int MaxItems = 10;
            public float DropChance = 0.5f;
            public string[] AllowedGroups = { "admin", "moderator" };
            
            public static Configuration DefaultConfig()
            {
                return new Configuration();
            }
        }
        
        protected override void LoadConfig()
        {
            try
            {
                config = Config.ReadObject<Configuration>();
                if (config == null)
                {
                    LoadDefaultConfig();
                }
            }
            catch
            {
                LoadDefaultConfig();
            }
            
            SaveConfig();
        }
        
        protected override void LoadDefaultConfig()
        {
            config = Configuration.DefaultConfig();
        }
        
        protected override void SaveConfig()
        {
            Config.WriteObject(config, true);
        }
        
        #endregion
        
        #region Hooks
        
        // Called when the plugin is being loaded
        void Init()
        {
            Puts("Example plugin has been initialized!");
        }
        
        // Called when a player connects to the server
        void OnPlayerConnected(BasePlayer player)
        {
            if (!config.Enabled) return;
            
            // Send welcome message to the player
            if (!string.IsNullOrEmpty(config.WelcomeMessage))
            {
                SendReply(player, config.WelcomeMessage);
                Puts($"Sent welcome message to {player.displayName}");
            }
        }
        
        // Called when a player disconnects from the server
        void OnPlayerDisconnected(BasePlayer player, string reason)
        {
            if (!config.Enabled) return;
            
            Puts($"Player {player.displayName} has disconnected: {reason}");
        }
        
        #endregion
        
        #region Commands
        
        [ChatCommand("example")]
        void ExampleCommand(BasePlayer player, string command, string[] args)
        {
            if (!config.Enabled) 
            {
                SendReply(player, "This plugin is currently disabled.");
                return;
            }
            
            if (args.Length == 0)
            {
                SendReply(player, "Available commands: status, help");
                return;
            }
            
            switch (args[0].ToLower())
            {
                case "status":
                    SendReply(player, $"Plugin Status: Enabled = {config.Enabled}, MaxItems = {config.MaxItems}, DropChance = {config.DropChance}");
                    break;
                    
                case "help":
                    SendReply(player, "Example Plugin Help:");
                    SendReply(player, "/example status - Show plugin status");
                    SendReply(player, "/example help - Show this help message");
                    break;
                    
                default:
                    SendReply(player, "Unknown command. Use /example help for available commands.");
                    break;
            }
        }
        
        #endregion
    }
} 

 

# Player Ban Management System 

 Created database tables for ban management:
  - player_bans: store ban information
  - ban_appeals: store ban appeal records
  - ban_logs: track ban-related actions
- Implemented BanController for admin panel with functionality:
  - List bans by server
  - Add new bans with online player selection
  - View ban details with history and appeals
  - Edit ban information
  - Unban players with RCON integration
  - Ban logging system
  - Search functionality for bans across all servers
- Created ban appeals system:
  - List all appeals with status
  - Review and approve/reject appeals
  - Automatically unban on approval
- Added ban management views:
  - Ban management overview (index.php)
  - Server bans (server.php)
  - Add ban form (add.php)
  - Ban details (view.php)
  - Edit ban form (edit.php)
  - Ban appeals listing (appeals.php)
  - Appeal review form (review-appeal.php)
  - Ban search interface (search.php)
- Updated admin navigation with new ban management section
- Added routes for ban management
- Implemented ban enforcement via RCON
- Added player Steam profile linking
- Created flexible ban durations (temporary or permanent)

 

## Server Performance Monitoring System

- Created database tables for performance monitoring:

  - server_performance: store server performance metrics

  - performance_thresholds: define alert thresholds for various metrics

  - performance_alerts: track created alerts

  - maintenance_windows: schedule maintenance periods

  - recovery_actions: define automatic actions for threshold violations

- Implemented ServerPerformance model with comprehensive functionality:

  - Save and retrieve performance metrics

  - Collect metrics from Rust servers via RCON

  - Threshold management and violation detection

  - Alert creation and management

  - Maintenance window scheduling

  - Recovery action execution

- Implemented PerformanceController for the admin panel with features:

  - Server performance dashboard with real-time metrics

  - Performance history visualization

  - Threshold management

  - Alert monitoring and acknowledgment

  - Maintenance window scheduling

  - Recovery action configuration

- Created views for the performance monitoring system:

  - Main dashboard showing server status

  - Server detail page with metrics

  - Historical metrics visualization

  - Threshold management interface

  - Alert listing and management

  - Maintenance window scheduling

  - Recovery action configuration

- Added cron job for automatic metric collection

- Integrated with existing RCON system for server communication

- Implemented real-time metric visualization with progress bars

 

## Theme System Development 

- Created Theme model for theme management functionality:

  - Get all available themes from filesystem

  - Set and retrieve active theme information

  - Manage theme-specific assets (CSS/JS)

  - Support custom layouts for themes

  - Handle theme variable management

- Implemented ThemeController for the admin panel:

  - Theme listing and activation

  - Theme customization interface

  - Save theme customization values

  - Generate custom CSS from templates and variables

- Created theme management views:

  - Theme listing (admin/themes/index.php)

  - Theme customization (admin/themes/customize.php)

- Updated BaseController to support theme integration:

  - Added theme instance initialization

  - Modified view rendering to support custom theme layouts

  - Added layout file selection based on active theme

- Modified main layout to include theme assets:

  - Added theme CSS and JS injection points

  - Added support for theme variable values

- Created theme directory structure:

  - app/public/themes/ for theme files

  - Support for theme assets (CSS, JavaScript)

  - Support for custom layouts

- Implemented sample "Dark Theme":

  - Created theme configuration (theme.json)

  - Added CSS template with variable placeholders

  - Created custom JavaScript for theme-specific functionality

  - Added custom layout override

  - Implemented variable-based design system

  - Added user-configurable theme settings:

    - Color scheme customization

    - Typography options

    - Animation toggles

    - UI element styling

- Added routes for theme management in routes.php

- Updated autoloader to include Theme model

- Added animation support with conditional activation

- Implemented gradient header styling for Dark theme

- Added server status display in footer for Dark theme

- Enhanced navigation with icons in Dark theme

 

## Notification System Implementation 

- Created Notification model for notification management:

  - Methods for creating notifications for individual users or roles

  - Functions for retrieving user notifications with pagination

  - Tracking unread notification counts

  - Mark-as-read functionality for individual or all notifications

  - Deletion features for notification management

  - User notification preferences (email/site notifications, notification types)

- Implemented NotificationController for user-facing notification operations:

  - Viewing user notifications with pagination

  - Real-time unread notification count retrieval via AJAX

  - Mark-as-read functionality with AJAX support

  - Notification deletion

  - Preferences management

- Created admin NotificationController for notification management:

  - Send notifications to all users, specific roles, or selected users

  - View notification statistics

  - User search functionality for specific targeting

- Implemented Mailer utility for email notifications:

  - PHPMailer integration

  - Configuration-based SMTP setup

  - HTML email templates for notifications

  - Support for attachments and customization

- Created notification views:

  - User notification listing with type-based styling

  - User notification preferences management interface

  - Admin notification creation form with recipient selection

  - Admin notification statistics dashboard with charts

- Updated layouts to integrate notifications:

  - Added notification badge to main layout's navigation

  - Real-time notification updates with JavaScript

  - Notification access in admin panel sidebar

  - Added notification-specific routes

- Added full support for notification preferences:

  - Email notification opt-in/out

  - Notification type filtering (system, news, server, user)

  - Default preferences for new users

 

## Event Logging System Implementation

- Created EventLog model with comprehensive logging functionality:

  - Methods for logging events of different types (system, user, server, security)

  - Functions for retrieving event logs with filtering and pagination

  - Helper methods for common event types

  - Log retention policies and cleanup functionality

- Added EventLogController for the admin panel:

  - Event logs listing with filtering options (type, action, user, date range)

  - View detailed event logs with metadata

  - Export logs to CSV for backup and analysis

  - Configure log retention settings

  - Clear old logs based on retention policy

- Implemented database table for event logs:

  - Storing event type, action, description

  - Recording user ID and IP address

  - Saving additional metadata as JSON

  - Tracking timestamps for all events

- Created event logs views:

  - Main event logs listing with filters (index.php)

  - Event log details view (view.php)

  - Event log settings (settings.php)

- Added helper functions for common system events:

  - logSystemEvent for system-wide events

  - logUserEvent for user-related actions

  - logServerEvent for server management activities

  - logSecurityEvent for security-related incidents

- Integrated event logging throughout the application:

  - Authentication events (login, registration, password reset)

  - User management events (create, update, delete)

  - Server management operations (status change, configuration)

  - System settings changes

  - Security-related activities (failed logins, suspicious behavior)

- Added routes for event log management

- Updated admin navigation with event logs section

- Implemented log visualization in the admin interface

- Added export functionality for compliance and analysis

 

## Server Categories System

 

- Created ServerCategory model for server categorization:

  - Methods for creating and managing server categories

  - Functions for assigning servers to categories

  - Support for hierarchical category structures

- Implemented server category management in the admin panel:

  - Create, edit, and delete server categories

  - Assign servers to multiple categories

  - Reorder categories for display purposes

- Updated server listing to support category-based views:

  - Filter servers by category

  - Display category badges on server cards

  - Category-specific server layouts

- Added server category selection in server creation/editing forms

- Created category-specific pages for showcasing servers by category:

  - Vanilla servers listing

  - Modded servers listing

  - PvP/PvE specific server views

- Updated server search functionality to include category filters

- Enhanced navigation to include category-based server browsing

## Donation and Payment System 

- Created complete donation and payment system with:
  - Configurable payment gateways (PayPal integration)
  - Donation store with product management
  - Donation goals with progress tracking
  - Donation tiers with rewards system
  - Shopping cart functionality
  - Order history tracking
  - Admin dashboard with sales statistics
  - Payment IPN handlers for automatic order processing
  - Email notifications for payments
  - Integration with server RCON for automatic reward delivery

 

 

Free Version

Version v1.5 

 

V1.5 (Free download - soon available)

 

Rust CMS V1.5 s a great starter template to start a Rust server , all data is dynamically added in and you can easily get started with this by editing the config.php. This is only to be used as a landing page we recommend using services such as tebex.io for the shop.

Features

  • Responsible for all screensizes.
    Google Meta Title & Description.
    Fully Editable Config file
    Easy setup, no database needed.
    Global population in the navbar showing total amount of players currently connected on your servers.
    Display your servers and their status and online count
    Rust-Servers.net API is used for player count/online status 
    Will be added Rustservers.gg API support
  • Will be doing a little overhaul, for the people that cannot afford 2.0

 

Credits:  

© TimRS for php/backend and entire RustCMS.net project V2

&  14 Fullstack developers fulltime working on this project.

 

© kodakvac#0001 for Front End Development - for V1


TimRS's Collection

User Feedback

1.7m

Downloads

Total number of downloads.

8.1k

Customers

Total customers served.

122.2k

Files Sold

Total number of files sold.

2.5m

Payments Processed

Total payments processed.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.