Ares Core - Installation & Configuration Guide

Version: 1.0.0 Author: Roroleroh Purpose: Core dependency for multiplayer lobbies and licensing


📋 Table of Contents

  • Overview

  • Installation

  • Dependencies

  • Configuration Guide

  • Garage System

  • Job Vehicles

  • API Reference


🎯 Overview

Ares Core is a required dependency for Ares Studio's multiplayer-enabled scripts. It provides:

  • Multiplayer lobby system - Create and manage player lobbies for jobs and activities

  • Licensing verification - Ensures legitimate script usage

  • Vehicle management - Garage spawn/return system for job vehicles

  • Player avatar system - Steam and Discord avatar integration

  • Framework bridge - Universal compatibility layer for ESX, QB-Core, and QBX

  • Language support - Multi-language UI system

Scripts that require Ares Core:

  • Ares Electrician

  • Future multiplayer-enabled Ares scripts


🚀 Installation

Important: Resource Start Order

Ares Core must be started after frameworks but before Ares scripts:

Setup Steps

  1. Extract the resource to your server's resources folder

  2. Configure the script (see Configuration Guidearrow-up-right)

  3. Add to server.cfg in the correct order (see above)

  4. Restart your server

No database setup or item configuration required - Ares Core handles infrastructure only.


📦 Dependencies

Required

  • Framework: ESX, QB-Core, or QBX (auto-detected)

Optional

  • Steam Web API Key - For player Steam avatars

  • Discord Bot Token - For custom Discord avatars

Both are optional and can be configured later if needed.


⚙️ Configuration Guide

All configuration is done in shared/config.lua.

Framework Settings

Parameter
Type
Description
Options

Framework

string

Framework detection mode

'auto', 'esx', 'qb-core'

Debug

boolean

Enable debug logging

true/false

Recommended: Leave Framework set to 'auto' for automatic detection. Production: Set Debug = false to reduce console spam.


Lobby System Settings

Parameter
Type
Description
Default

LobbyIdLength

number

Character length of generated lobby IDs

6

LobbyTimeout

number

Seconds before empty lobbies are deleted

120

GarbageCollectorInterval

number

Seconds between cleanup cycles

121

How it works:

  • When players create a lobby, a random ID is generated (e.g., AB12CD)

  • Empty lobbies are automatically deleted after LobbyTimeout seconds

  • The garbage collector runs every GarbageCollectorInterval seconds to clean up

Performance tuning:

  • Higher LobbyTimeout = lobbies stay active longer (good for slow joiners)

  • Lower GarbageCollectorInterval = more frequent cleanup (slightly more server load)

Example - Longer lobby lifetime:


Invite UI Settings

Description: Seconds before lobby invite popup auto-dismisses. Default: 15 seconds Range: 5-60 seconds recommended

Example:


Steam API Configuration

Description: Steam Web API key for fetching player Steam avatars.

Setup instructions:

  1. Sign in with your Steam account

  2. Register a new domain (your server name/IP)

  3. Copy your API key

  4. Paste into config:

Without Steam API key:

  • Player avatars will show initials instead (e.g., "JD" for John Doe)

  • Functionality is not affected, only visual appearance

Example:


Discord Bot Token

Description: Discord Bot token for fetching custom Discord avatars.

Setup instructions:

  1. Click New Application

  2. Go to Bot section

  3. Click Add Bot

  4. Under Token, click Copy

  5. Paste into config:

Without Discord Bot token:

  • Default Discord avatars will be used as fallback

  • Functionality is not affected

Example:


Language Settings

Description: Language code for lobby UI translations. Default: 'en' (English) Available languages: Check shared/lang/*.json for available language files

Supported languages:

  • 'en' - English

  • 'fr' - French

  • Add custom languages by creating JSON files in shared/lang/

Example:


🚗 Garage System

The garage system manages vehicle spawning and return for multiplayer jobs.

Garage Configuration

Garage Parameters

Parameter
Type
Description

label

string

Display name of the garage

center

vector3

Center point for proximity detection

dropoff.pos

vector3

Where players return vehicles

dropoff.radius

number

Radius for valid drop-off zone (meters)

spawn.pos

vector4

Where vehicles spawn (x, y, z, heading)

spawn.radius

number

Check radius for occupied space (meters)

How Garages Work

  1. Vehicle Request - Player requests vehicle from nearest garage (based on center)

  2. Spawn Check - System verifies spawn area is clear within spawn.radius

  3. Vehicle Spawn - Vehicle spawns at spawn.pos with specified heading

  4. Drop-off - Player returns vehicle within dropoff.radius of dropoff.pos

Adding Custom Garages

Finding Coordinates

In-game method:

  1. Stand at desired location

  2. Open F8 console

  3. Type /getcoords (if available) or use:


🚙 Job Vehicles

Configure default vehicles for each Ares script that uses the lobby system.

Job Vehicle Configuration

Parameters

Parameter
Type
Description

default

string

Default vehicle model for this job

maxVehicles

number

Maximum vehicles per lobby

customVehicles

table

Phase-specific vehicle overrides

Adding Job Vehicles

For new Ares scripts:

Custom Vehicles Per Phase

Use case: Different job phases need different vehicles.

Example:

How it works:

  • If phase has a customVehicles entry, that vehicle is used

  • Otherwise, default vehicle is spawned

  • Vehicle is selected automatically when phase changes


🔌 API Reference

Ares Core exports the following functions for use by other scripts:

Server-Side Exports

Example Usage in Other Scripts


📝 Quick Reference

Essential Configuration Checklist

  • ✅ Set resource start order in server.cfg

  • ✅ Configure framework detection (or leave as 'auto')

  • ✅ Set Config.Debug = false in production

  • ✅ Add garage locations for your map

  • ✅ Configure job vehicles for installed Ares scripts

  • ⚙️ Optional: Add Steam API key for avatars

  • ⚙️ Optional: Add Discord Bot token for avatars

When to Configure Garages

  • ✅ Adding new job locations to your server

  • ✅ Spreading jobs across different areas of the map

  • ✅ Customizing vehicle spawn/return locations

  • ❌ Not needed if using default locations

When to Configure Job Vehicles

  • ✅ Installing new Ares multiplayer scripts

  • ✅ Customizing vehicles per job type

  • ✅ Adding phase-specific vehicles

  • ✅ Changing maximum vehicles per lobby


🔧 Troubleshooting

Issue
Solution

"Ares Core not found" error

Check resource start order in server.cfg

Lobbies not working

Verify framework is detected (check F8 console)

Vehicle won't spawn

Check spawn.pos coordinates and spawn.radius

Can't return vehicle

Verify player is within dropoff.radius

No player avatars

Add Steam API key or Discord Bot token

Lobby immediately deleted

Increase Config.LobbyTimeout value


🎯 Important Notes

  • Required for: All Ares multiplayer scripts (Electrician, future releases)

  • Start order matters: Framework → Ares Core → Ares Scripts

  • No items needed: This is pure infrastructure, no inventory items

  • Framework agnostic: Works with ESX, QB-Core, QBX, or standalone

  • Licensing handled automatically: No manual activation required


Support: For issues or questions, please contact Ares Studio. License: This script is protected and should not be redistributed without permission.

Last updated

Was this helpful?