Server Configuration (sv_config.lua)
The config/sv_config.lua file holds strictly server-side parameters, including administrative permission groups and the daily/weekly quest reward pools.
🛡️ Admin Permissions
Defines which ACE group is allowed to open the in-game management tools (/oiltaskmanager and /oilbonusmanager):
return {
adminPermission = 'group.admin',
-- ...- When the server starts,
server/functions.luagrants the internaloilfieldjob.adminpermission to this group:ExecuteCommand(('add_ace %s %s allow'):format(serverConfig.adminPermission, 'oilfieldjob.admin')) - If your server uses a different admin group (such as
group.superadmin,group.god, orrole.admin), changeadminPermissionto match your server's permissions.
🎯 Quests System
The script features an automated, server-side quest system that generates 4 daily quests and 4 weekly quests for each worker from a configurable pool.
Quest Pools Structure
quests = {
dailyPool = {
-- 14+ daily quests
},
weeklyPool = {
-- 15+ weekly quests
},
},Objective Types Reference
| Objective Type | Required Parameters | Description |
|---|---|---|
tasks_completed | target = number | Complete any number of oil field tasks across any sites |
earn_money | target = number | Earn a total dollar amount from job route payouts |
work_hours | target = number | Spend cumulative hours on active duty shifts |
repeat_task | taskId = string, target = number | Complete a specific minigame task a specified number of times |
composite | goals = { ... } | Multi-objective challenge requiring multiple goals to be satisfied |
Supported taskId Values for repeat_task
'grind_rust'— Rust Removal'drive_bolt'— Pipeline Flange Assembly'turn_valve'— Valve Regulation'weld_pipe'— Pipeline Welding'cut_pipe'— Pipeline Cutting'technicalbox'— Technical Box Repair
📅 Daily Quests Examples
Daily quests automatically refresh at midnight (23:59:59 local server time).
1. General Tasks Completion
{
id = 'complete_tasks_10',
label = 'Finish 10 tasks',
description = 'Complete any 10 oil field tasks today to prove your efficiency.',
reward = { exp = 130, money = 480 },
objective = {
type = 'tasks_completed',
target = 10,
},
},2. Earnings Target
{
id = 'earn_money_1600',
label = 'Earn $1,600',
description = 'Deliver enough work to cross $1,600 payout today.',
reward = { exp = 210, money = 780 },
objective = {
type = 'earn_money',
target = 1600,
},
},3. Work Shift Hours
{
id = 'work_hours_1_5',
label = 'Work 1.5 hours',
description = 'Stay on duty for a total of 1.5 hours during this shift.',
reward = { exp = 140, money = 420 },
objective = {
type = 'work_hours',
target = 1.5,
},
},4. Specific Task Repetition
{
id = 'repeat_task_weld_pipe_8',
label = 'Weld 8 pipeline seams',
description = 'Successfully weld 8 pipeline joints.',
reward = { exp = 145, money = 520 },
objective = {
type = 'repeat_task',
taskId = 'weld_pipe',
target = 8,
},
},5. Composite Multi-Goal Quest
{
id = 'mixed_daily_cleaner_master',
label = 'Oil Worker Master',
description = 'Complete 12 tasks, work 2 hours, and earn $1,800 in a single day.',
reward = { exp = 320, money = 1200 },
objective = {
type = 'composite',
goals = {
{ type = 'tasks_completed', target = 12 },
{ type = 'work_hours', target = 2 },
{ type = 'earn_money', target = 1800 },
},
},
},📆 Weekly Quests
Weekly quests reset every Sunday at midnight (23:59:59), rolling over on Monday morning. They offer substantial payouts and EXP rewards:
{
id = 'earn_money_17000',
label = 'Earn $17,000',
description = 'Complete a top-tier week with $17,000 earned.',
reward = { exp = 2100, money = 7400 },
objective = {
type = 'earn_money',
target = 17000,
},
},
{
id = 'mixed_tasks_hard',
label = 'Balanced week plus',
description = 'Complete 65 tasks, work 12 hours, and earn $10,000 total.',
reward = { exp = 2050, money = 7000 },
objective = {
type = 'composite',
goals = {
{ type = 'tasks_completed', target = 65 },
{ type = 'work_hours', target = 12 },
{ type = 'earn_money', target = 10000 },
},
},
},TIP: Quest progress is persistently stored in the
bs_oilfield_playerquestsdatabase table and automatically synchronizes with the in-game tablet UI in real-time.