config.lua
Information regarding boii_base server configuration options.
Code
-- new user settings
server_config.new_users = {
unique_id = {prefix = 'boii_', digits = math.random(111111, 999999)} -- player unique id default: boii_123456
}
-- routing bucket settings
server_config.routing_buckets = {
locked_buckets = 2, -- amount of locked buckets to remain reserved; 0 is default bucket
buckets = {
--[[
NOTES:
mode;
'strict' -- no entities can be created by clients at all
'relaxed' -- only script-owned entities created by clients are blocked
'inactive' -- clients can create any entity they want
population;
false -- population disabled
true -- population enabled
staff_only;
false -- all users can enter bucket
true -- only staff can enter bucket
staff_ranks;
{'admin', 'developer'} -- staff ranks that can enter bucket
event;
false -- all users can enter bucket
true -- only users with event_access marked in database can enter bucket
vip;
false -- all users can enter bucket
true -- only vip users with the required vip_level can enter bucket
capacity;
value -- amount of players allowed to enter bucket
]]
[0] = {name = 'Main World', mode = 'relaxed', population = true, default_spawn = vec4(-268.47, -956.98, 31.22, 208.54), default_respawn = vec4(341.28, -1396.83, 32.51, 48.78), staff_only = false, staff_ranks = {}, event = false, vip = false, vip_level = 0, capacity = 64},
[1] = {name = 'Staff World', mode = 'relaxed', population = false, default_spawn = vec4(-268.47, -956.98, 31.22, 208.54), staff_only = true, staff_ranks = {'admin', 'developer'}, event = false, vip = true, vip_level = 1, capacity = 64},
}
}
-- sync settings
server_config.sync = {
weather_interval = 10, -- time in mins to change weather type for all clients
}
-- new character settings
server_config.new_characters = {
balances = {
--[[
NOTES:
additional starting balances can be added here if required
negative_allowed; false -- balance cannot go into negative values | true -- balance can go into negative values
]]
['bank'] = { ['label'] = 'Bank', ['amount'] = 5000, ['negative_allowed'] = true},
['savings'] = { ['label'] = 'Savings', ['amount'] = 0, ['negative_allowed'] = false}
},
jobs = {
--[[
NOTES:
additional job slots can be added here if required
example;
['real_estate'] = {type = 'primary', label = 'Dynasty 8', grade = 0, grade_label = 'Estate Agent', salary = 200, on_duty = true, duty_pay_only = false}, -- default job all players start with
['taxi'] = {type = 'secondary', label = 'Downtown Cab Co', grade = 0, grade_label = 'Taxi Driver', salary = 100, on_duty = false, duty_pay_only = true} -- secondary job slot
type; 'primary' -- default starting job for new characters | 'secondary' -- players can have multiple secondary jobs
on_duty; false -- player will not be on duty after joining | true -- player will be on duty after joining
duty_pay_only; false -- player does not have to be "on duty" to receive incremental payments | true -- player has to be "on duty" to receive incremental payments
]]
['unemployed'] = { ['id'] = 'unemployed', ['type'] = 'primary', ['category'] = 'civilian', ['label'] = 'Unemployed', ['grade'] = 0, ['grade_label'] = 'Freelance', ['salary'] = 10, ['on_duty'] = false},
['empty'] = { ['id'] = 'empty', ['type'] = 'secondary', ['category'] = 'civilian', ['label'] = 'Empty', ['grade'] = 0, ['grade_label'] = 'Empty', ['salary'] = 0, ['on_duty'] = false},
},
skills = {
--[[
NOTES:
additional default skills can be added here if required
type; category type for skills can add as many types as required
first_level_xp; amount of xp required for level 1 - 2
growth_factor; growth factor to increase required amount of xp needed for the next level
max_level; max level players can reach
]]
['driving'] = { ['id'] = 'driving', ['type'] = 'base', ['label'] = 'Driving', ['level'] = 1, ['xp'] = 0, ['first_level_xp'] = 1000, ['growth_factor'] = 1.5, ['max_level'] = 10},
['flying'] = { ['id'] = 'flying', ['type'] = 'base', ['label'] = 'Flying', ['level'] = 1, ['xp'] = 0, ['first_level_xp'] = 500, ['growth_factor'] = 1.6, ['max_level'] = 10},
['wheelie'] = { ['id'] = 'wheelie', ['type'] = 'base', ['label'] = 'Wheelie', ['level'] = 1, ['xp'] = 0, ['first_level_xp'] = 800, ['growth_factor'] = 1.5, ['max_level'] = 10},
['lung_capacity'] = { ['id'] = 'lung_capacity', ['type'] = 'base', ['label'] = 'Lung Capacity', ['level'] = 1, ['xp'] = 0, ['first_level_xp'] = 700, ['growth_factor'] = 1.3, ['max_level'] = 10},
['stamina'] = { ['id'] = 'stamina', ['type'] = 'base', ['label'] = 'Stamina', ['level'] = 1, ['xp'] = 0, ['first_level_xp'] = 900, ['growth_factor'] = 1.7, ['max_level'] = 10},
['strength'] = { ['id'] = 'strength', ['type'] = 'base', ['label'] = 'Strength', ['level'] = 1, ['xp'] = 0, ['first_level_xp'] = 600, ['growth_factor'] = 1.6, ['max_level'] = 10},
['swimming'] = { ['id'] = 'swimming', ['type'] = 'base', ['label'] = 'Swimming', ['level'] = 1, ['xp'] = 0, ['first_level_xp'] = 800, ['growth_factor'] = 1.4, ['max_level'] = 10},
['shooting'] = { ['id'] = 'shooting', ['type'] = 'base', ['label'] = 'Shooting', ['level'] = 1, ['xp'] = 0, ['first_level_xp'] = 1000, ['growth_factor'] = 1.2, ['max_level'] = 10},
['stealth'] = { ['id'] = 'stealth', ['type'] = 'base', ['label'] = 'Stealth', ['level'] = 1, ['xp'] = 0, ['first_level_xp'] = 700, ['growth_factor'] = 1.6, ['max_level'] = 10}
},
statuses = {
--[[
NOTES:
additional statuses could be added here however code editing would be be required for both html and status modifiers
]]
['health'] = 200,
['armour'] = 0,
['hunger'] = 100,
['thirst'] = 100,
['stress'] = 0,
['oxygen'] = 100,
['hygiene'] = 100
},
booleans = {
--[[
NOTES:
additional boolean values can be added here
currently no functionality implemented
]]
['dead'] = false,
['handcuffed'] = false,
['ziptied'] = false,
['wanted'] = false,
['jail'] = false,
['safezone'] = false,
['inside'] = false,
['grouped'] = false
},
licences = {
--[[
NOTES:
additional license types can be added here
currently no functionality implemented
]]
['driver'] = {['class_a'] = false, ['class_b'] = false, ['class_c'] = false, ['class_m1'] = false, ['class_m2'] = false},
['flying'] = {['student'] = false, ['recreational'] = false, ['sport'] = false, ['private'] = false, ['commercial'] = false},
['sailing'] = {['boaters'] = false}
},
inventory = {
slots = 36, -- starting amount of slots for new players
weight = 800000, -- starting carry weight in grams this is increased by strength skill level
starter_items = {
--[[
NOTES:
adjust starter items new characters will receive here
slot; the slot number to place the item in
id; the id name of the item
type; assigned type for item
label; label of item
image; image path, images stored in html/assets/images/inventory
quantity; item amount
max_stack; maximum amount of items allowed per stack
weight; item weight in grams
quality; item starting quality to degrade if can_degrade = true
description; item description
hotbar; false - item placed in inventory | true - item placed in hotbar
can_degrade; false - item cannot degrade | true - item can degrade, ensure quality rating is set
unique; false - more than 1 item can be carried | true - only 1 of the item can be carried
]]
['passport'] = { ['slot'] = 1, ['id'] = 'passport', ['type'] = 'identity', ['label'] = 'Passport', ['image'] = 'passport.png', ['quantity'] = 1, ['max_stack'] = 10, ['weight'] = 5, ['quality'] = '', ['description'] = 'This is your passport.', ['hotbar'] = true, ['can_degrade'] = false, ['unique'] = true },
}
}
}
-- discord settings
server_config.discord = {
bot_data = { -- discord bot data
name = '-🛡️- BOII | Roleplay Framework -🛡️-',
logo = 'https://imgur.com/lXDXHdZ',
footer = {
['text'] = '© - BOII | Development ',
['icon'] = 'https://imgur.com/lXDXHdZ'
},
} ,
webhooks = { -- discord webhooks refer to; https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks
['testing'] = '',
},
colours = { -- webhook colours can find more here; -- https://www.spycolor.com/
['default'] = 5098434,
['red'] = 13323606,
['green'] = 65280,
['white'] = 16777215,
['black'] = 0,
['blue'] = 205,
['orange'] = 16744192,
['yellow'] = 16776960,
['pink'] = 16761035,
}
}
New Users
...
Routing Buckets
The framework is using routing buckets to place players in character select/creation into their own bucket. The plan is to also integrate additional buckets for other things e.g. event worlds.
Sync
...
New Characters
...
Discord
Discord settings used by webhooks, the webhooks section will have additional hooks added as the framework logging improves
Last updated