TraderX is a next-generation trading system for DayZ servers, built with modern software architecture principles and designed for extensibility, performance, and ease of use.
Find TraderX on the Steam Workshop:
- Workshop ID: [3560310973]
- Direct Link: Steam Workshop Link
Subscribe to get automatic updates and easy installation for your DayZ server.
- Dynamic Pricing: Stock-based coefficient pricing system
- Multi-Currency Support: Flexible currency system with custom denominations
- Product Variants: Support for different item variants and configurations
- Attachment System: Comprehensive weapon and item attachment management
- Preset System: Save and load item configurations with attachments
- Stock Management: Real-time inventory tracking with configurable limits
- License System: Trader-specific licensing requirements
- Vehicle Trading: Complete vehicle marketplace with parking management
- Loadout Trading: Pre-configured equipment packages
- Progressive Pricing: Volume-based pricing for bulk transactions
- Transaction History: Comprehensive logging and audit trails
- Notification System: Rich client notifications with sound effects
- Modern UI: Clean, responsive interface with dark theme
- Real-time Updates: Live price and stock updates
- Search & Filtering: Advanced product discovery
- Checkout System: Shopping cart with batch processing
- Preset Management: Save favorite item configurations
- Multi-language Support: Localization framework
TraderX follows Domain-Driven Design (DDD) principles with a layered architecture that ensures maintainability, testability, and extensibility.
graph TB
subgraph "Mission Layer (5_Mission)"
MissionServer[Mission Server Events]
MissionGameplay[Mission Gameplay Overrides]
end
subgraph "Application Layer (4_World)"
UI[User Interface]
Client[Client Logic]
Services[Application Services]
Controllers[Controllers]
Infrastructure[Infrastructure]
end
subgraph "Domain Layer (3_Game)"
Models[Domain Models]
ValueObjects[Value Objects]
DomainServices[Domain Services]
end
Mission --> Services
UI --> Services
Client --> Services
Services --> Models
Controllers --> Models
Infrastructure --> Models
Services --> Infrastructure
Controllers --> Infrastructure
graph LR
subgraph "Domain Models"
Product[TraderXProduct]
Category[TraderXCategory]
Transaction[TraderXTransaction]
Currency[TraderXCurrency]
NPC[TraderXNpc]
User[TraderXUser]
end
subgraph "Value Objects"
ProductId[ProductId]
Price[PriceInfo]
Stock[StockInfo]
TransactionType[TransactionType]
end
subgraph "Services"
TransactionService[TransactionService]
PricingService[PricingService]
NotificationService[NotificationService]
end
Product --> Price
Product --> Stock
Transaction --> TransactionType
TransactionService --> Product
PricingService --> Product
sequenceDiagram
participant Client
participant UI
participant Controller
participant Service
participant Repository
participant Domain
Client->>UI: User Action
UI->>Controller: RPC Call
Controller->>Service: Process Request
Service->>Repository: Load Data
Repository->>Domain: Create Models
Domain-->>Repository: Domain Logic
Repository-->>Service: Return Results
Service-->>Controller: Business Logic
Controller-->>UI: Response
UI-->>Client: Update Interface
- Repository Pattern: Data access abstraction
- Service Layer: Business logic encapsulation
- Value Objects: Immutable data containers
- Event System: Decoupled component communication
- Factory Pattern: Object creation management
- Singleton Pattern: Shared service instances
- DayZ Server (Version 1.28+)
- CF (Dependency)
- DabsFramework (Dependency)
- Download TraderX from Steam Workshop
- Extract to your server's mod directory
- Add to server startup parameters:
-mod=@CF;@DabsFramework;@TraderX
- Configure using the provided configuration files
- Restart your server
Players need to subscribe to the mod on Steam Workshop for automatic installation.
You can use the web configuration tool at this adress: https://traderpluseditor.dmitri-dev-area.dev
TraderX uses JSON configuration files located in your server profile:
ServerProfile/
βββ TraderX/
β βββ TraderXConfig/
β β βββ GeneralSettings.json
β β βββ Categories/
β β βββ Products/
β β βββ NPCs/
β βββ TraderXData/
β βββ Licenses/
β βββ Transactions/
- GeneralSettings.json: Global mod settings
- Categories/*.json: Product categorization
- Products/*.json: Item definitions and pricing
- NPCs/*.json: Trader configurations and locations
{
"className": "agaricusmushroom",
"coefficient": 1,
"maxStock": -1,
"tradeQuantity": 78644644,
"buyPrice": 2,
"sellPrice": 1,
"stockSettings": 0,
"attachments": [],
"variants": []
}TraderX is open source and welcomes contributions from the community!
- Bug Fixes: Help improve stability and performance
- New Features: Add functionality that benefits the community
- Documentation: Improve guides, examples, and API docs
- Testing: Add unit tests and integration tests
- Translations: Add support for new languages
- Code Quality: Refactoring and optimization improvements
- Repackaging: Do not redistribute as your own mod
- Commercial Resale: Do not sell TraderX or derivatives
- Closed Source Forks: Derivatives must remain open source
- Fork the repository
- Clone your fork locally
- Create a feature branch
- Make your changes following our coding standards
- Test your changes thoroughly
- Submit a pull request with detailed description
- Follow DayZ/Enforce Script conventions
- Use Domain-Driven Design patterns
- Include comprehensive logging
- Add unit tests for new features (if possible)
- Document public APIs
TraderX is released under an open source license with the following terms:
- Use on any DayZ server (commercial or non-commercial)
- Modify and extend functionality
- Create derivative works
- Contribute improvements back to the project
- Study the code for educational purposes
- Repackaging and redistributing as a different mod
- Selling the mod or any repackaged versions
- Removing attribution or copyright notices
- Creating closed-source derivatives
- Maintain original attribution
- Keep derivative works open source
- Clearly mark any modifications made
- Respect the community-driven nature of the project
When using or modifying TraderX, please maintain attribution to the original authors and contributors.
- Bug Fixes
- Performance Improvements
We actively listen to community feedback. Submit feature requests through GitHub issues or our Discord server.
- TheDmitri - Lead Developer & Architecture
- FatFly - UI/UX Designer
- DayZ Community - Feedback and testing
- DabsFramework Team - MVC System
- Contributors - All community contributors who help improve TraderX
- DayZ Modding Framework - Game integration
- Enforce Script - Core programming language
- DabsFramework - UI and utility framework
- JSON - Configuration and data storage
- GitHub Issues: Report bugs and request features
- Discord: Join our community server
- Steam Workshop: Rate and comment
- Documentation: to be added
Made with β€οΈ for the DayZ community
TraderX - Next Generation Trading for DayZ
