Drop Logs & Game Asset System

Advanced Drop Tracking & Path Management Platform

Tutorial Video

What is Drop Logs & Game Asset System?

Drop Logs & Game Asset System is a comprehensive monitoring and management platform that tracks all item drops across your server with detailed filtering capabilities. Monitor player activities, analyze drop patterns, and manage game asset paths with professional precision. Features advanced search filters for degree, rarity, character names, and regions with real-time tracking of every dropped item.

How It Works

Global Activity System

  • Real-Time Monitoring: Track all item drops across the entire server instantly
  • Comprehensive Data Display: View item name, degree, rarity, character, area, monster, and timestamp
  • Advanced Filtering: Filter by item degree, rarity level, date ranges, item names, and character names
  • Pagination Support: Navigate through thousands of records with smooth page controls

Drop Item Log Management

  • Item Filter Configuration: Define custom item filters using flexible pattern matching (nvarchar 200 characters)
  • Description System: Add detailed descriptions for each filter rule (nvarchar 500 characters)
  • Enable/Disable Controls: Toggle individual filters on/off without deletion
  • Auto-Save Functionality: Changes saved automatically when fields lose focus

Drop Register Log System

  • Monster Tracking: Record MonsterRefObjID for every drop event
  • Player Attribution: Track killer names for accountability (nvarchar 100)
  • Location Data: Store RegionID and 3D coordinates (PosX, PosY, PosZ as floats)
  • Timestamp Recording: Automatic DropTime registration with GETDATE()

Game Asset Path Management

  • Icon Path System: Manage game asset paths stored in _CustomIcons table
  • Auto-Generation Feature: Empty path fields auto-generate sequential paths (nesta\icon\charicon\icon_01.ddj)
  • Manual Override: Enter custom paths for specific assets
  • Bulk Operations: Add, delete, or delete all icon paths with single clicks

Database Architecture

📊 DropItemLog Table

Purpose: Define and manage item drop filter rules

  • ID: INT PRIMARY KEY IDENTITY(1,1) - Unique identifier
  • ItemFilter: NVARCHAR(200) NULL - Item pattern matching filter
  • Description: NVARCHAR(500) NULL - Detailed filter description
  • Enabled: BIT NOT NULL DEFAULT 1 - Filter active status
  • CreatedDate: DATETIME NOT NULL DEFAULT GETDATE() - Creation timestamp

Auto-Create: Table automatically created if not exists on system startup

📍 DropRegisterLog Table

Purpose: Record actual drop events with location and player data

  • ID: INT PRIMARY KEY IDENTITY(1,1) - Unique identifier
  • MonsterRefObjID: INT NOT NULL DEFAULT 0 - Monster that dropped item
  • KillerName: NVARCHAR(100) NULL - Player who killed monster
  • RegionID: INT NOT NULL DEFAULT 0 - Region/zone identifier
  • PosX: FLOAT NOT NULL DEFAULT 0 - X coordinate
  • PosY: FLOAT NOT NULL DEFAULT 0 - Y coordinate
  • PosZ: FLOAT NOT NULL DEFAULT 0 - Z coordinate
  • DropTime: DATETIME NOT NULL DEFAULT GETDATE() - Drop timestamp

Auto-Create: Table automatically created if not exists on system startup

🎨 _CustomIcons Table

Purpose: Manage game asset file paths (icons, images, resources)

  • Id: INT PRIMARY KEY - Unique identifier (manually assigned)
  • Path: NVARCHAR - Asset file path (e.g., nesta\icon\charicon\icon_01.ddj)

Auto-Generation: Next ID calculated as MAX(Id) + 1, paths auto-generated if empty

Key Features

🔍 Advanced Search & Filter System

  • Degree Filter: Dropdown selector for item enhancement levels (10, 11, 12, etc.)
  • Rarity Filter: Choose from Normal, Rare, Epic, Legendary, etc.
  • Date Filter: Select "All" or specific date ranges for temporal analysis
  • Item Name Search: Text input with real-time filtering (Item name...)
  • Character Search: Find drops by specific player names (Character name...)
  • Instant Results: All filters apply immediately without page reload

📋 Comprehensive Data Display

  • Multi-Column View: Item Name, Degree, Rarity, Character, Area, Monster, Date
  • Icon Display: Visual item icons for quick recognition
  • Formatted Timestamps: Human-readable dates (2026-06-07 01:20:15.113)
  • Pagination Controls: Navigate with PREV/NEXT buttons + page counter (Page 1 / 2)
  • Total Count: Display total items found (Total Items: 21)
  • Refresh Button: Manual refresh to load latest data

⚙️ Admin Panel Management

  • Dual-Table System: Switch between DropItem and DropRegister tables via dropdown
  • Dynamic Forms: Form fields change based on selected table (formDropItem / formDropRegister)
  • Auto-Save on Blur: Fields save automatically when focus lost (LostFocus event)
  • CRUD Operations: Add new rows, delete selected rows, refresh data
  • Status Feedback: Real-time status messages (✓ Saved, ✓ Added, ⚠ Select a row first)
  • Selection Sync: Click list item to populate form fields instantly

🎨 Path Icon Management

  • Simple Interface: Two-column display (ID, Path) with selection support
  • Auto-Generate Paths: Leave path empty → system generates nesta\icon\charicon\icon_XX.ddj
  • Manual Entry: Enter custom paths for specific game assets
  • Batch Delete: Delete All button for complete path cleanup
  • Individual Delete: Remove specific paths with Delete button
  • Auto-Save: Path edits save automatically on field blur

Admin Panel Configuration

DropLog Tab Operations

  1. Connect to Database: X9 Filter admin panel automatically connects using SQL credentials
  2. Select Table: Choose "DropItem" or "DropRegister" from dropdown (cmbDropLogTable)
  3. View Data: All records load automatically in list view (lstDropLog)
  4. Select Row: Click any list item to populate form fields
  5. Edit Fields: Modify values (ItemFilter, Description, Enabled, MonsterRefObjID, KillerName, RegionID)
  6. Auto-Save: Click outside field or press Tab → changes save automatically
  7. Add New: Fill form fields and click Add button → new record created
  8. Delete Row: Select row and click Delete → confirmation and removal
  9. Refresh: Click Refresh button to reload latest data from database

PathIcon Tab Operations

  1. View Paths: All icon paths display in two-column format (Id, Path)
  2. Add New Path: Leave txtPathIconPath empty → auto-generates sequential path
  3. Custom Path: Enter specific path (e.g., custom\ui\button_gold.ddj) and click Add
  4. Edit Path: Select row, modify txtPathIconPath, click outside → auto-saves
  5. Delete Single: Select row, click Delete button
  6. Delete All: Click Delete All button → removes all icon path entries
  7. Refresh: Click Refresh to reload paths from _CustomIcons table

Professional Tips

For Server Administrators

  • Monitor High-Value Drops: Use degree/rarity filters to track +10, +11, +12 items and legendary drops
  • Player Activity Analysis: Search by character name to analyze individual player drop patterns
  • Bot Detection: Identify suspicious drop patterns (same character, same location, rapid succession)
  • Economy Balance: Track drop frequency and adjust monster loot tables accordingly
  • Event Monitoring: Use date filters to analyze drop rates during special events
  • Regional Analysis: Filter by area/region to balance zone difficulty and rewards

For Database Management

  • Filter Configuration: Create ItemFilter patterns for specific item groups (e.g., "SOX_*" for all SOX items)
  • Description Best Practices: Write clear descriptions explaining what each filter tracks
  • Enable/Disable Strategy: Disable filters temporarily instead of deleting for future reuse
  • Regular Cleanup: Archive old DropRegisterLog records to maintain performance
  • Backup Strategy: Regular backups of DropItemLog configurations before major changes

For Asset Management

  • Naming Convention: Use consistent path patterns (nesta\icon\charicon\icon_XX.ddj)
  • Sequential IDs: Let system auto-generate IDs for organized structure
  • Path Validation: Verify paths exist in client files before adding to database
  • Documentation: Keep external documentation of which IDs correspond to which assets
  • Testing: Test new paths in-game before adding multiple entries

Practical Example

Scenario: You want to track all degree 10+ item drops from specific monsters in China region

  1. Access Global Activity: Open the system and you'll see all recent drops in real-time
  2. Apply Filters: Select "10" from Degree dropdown, enter "CHINA" in area search
  3. Review Results: See all degree 10 items dropped in China with character names and timestamps
  4. Create Filter Rule: Switch to DropItem tab, add filter pattern for specific item types
  5. Monitor Continuously: Refresh periodically or let auto-refresh track new drops

Technical Implementation

Auto-Create Tables System

System automatically creates required tables on startup if they don't exist:

IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'DropItemLog')
BEGIN
    CREATE TABLE DropItemLog (
        ID INT PRIMARY KEY IDENTITY(1,1),
        ItemFilter NVARCHAR(200) NULL,
        Description NVARCHAR(500) NULL,
        Enabled BIT NOT NULL DEFAULT 1,
        CreatedDate DATETIME NOT NULL DEFAULT GETDATE()
    )
END

Auto-Save Implementation

Changes save automatically when fields lose focus (LostFocus event):

UPDATE DropItemLog 
SET ItemFilter=@filter, 
    Description=@desc, 
    Enabled=@enabled 
WHERE ID=@id

Path Auto-Generation Logic

Empty path fields trigger sequential path generation:

// Get next ID
SELECT ISNULL(MAX(Id), 0) + 1 FROM [_CustomIcons]

// Auto-generate path if empty
if (string.IsNullOrEmpty(path))
{
    path = $"nesta\\icon\\charicon\\icon_{nextId:D2}.ddj";
}

Summary

Drop Logs & Game Asset System provides comprehensive server monitoring with advanced filtering, real-time tracking, and professional asset management capabilities.

Core Benefits

🔍

Advanced search filters

📊

Real-time drop tracking

⚙️

Professional admin tools

🎨

Asset path management

Monitor every drop, track every player, manage every asset - complete server visibility in one powerful system.

by X9 Filter New Feature!

Enhancing your Silkroad Online experience