RLS Studios
ProjectsPatreonCommunityDocsAbout
Join Patreon
BeamNG Modding Docs

Guides

Reference

server/commands - Camera & Input Commandsge_utils - Game Engine Utility Functionsmain.lua - GE Lua Entry Point & Game Loopmap.lua - Navigation Graph (AI Road Map)screenshot.lua - Screenshot Systemserver/server - Level Loading & Game ServerserverConnection - Client-Server Connection Manager`setSpawnpoint` - Default Spawn Point Persistence`simTimeAuthority` - Simulation Time & Bullet Time Control`spawn` - Vehicle Spawning & Safe Placement`suspensionFrequencyTester` - Suspension Natural Frequency Analysis
Career BranchesCareer System CoreCareer Save System
Career Computer MenuCareer Fuel SystemInspect VehicleVehicle InventoryLinear TutorialLoaner VehiclesCareer LogLogbookMarketplaceMission WrapperCareer Painting ModuleCareer Part Inventory ModuleCareer Part Shopping ModuleCareer Payment ModuleCareer Permissions ModuleCareer Playbook Writer ModuleCareer Player Abstract ModuleCareer Player Attributes ModuleCareer Player Driving ModuleCareer Quick Travel ModuleCareer Rentals ModuleCareer Reputation ModuleCareer Spawn Points ModuleCareer Speed Traps ModuleCareer Test Drive ModuleCareer Tether ModuleCareer Tuning ModuleCareer UI Utils ModuleCareer Unlock Flags ModuleCareer Value Calculator ModuleVehicle Class GroupingVehicle Deletion ServiceVehicle PerformanceVehicle Shopping

UI

Resources

BeamNG Game Engine Lua Cheat SheetGE Developer RecipesMCP Server Setup

// RLS.STUDIOS=true

Premium Mods for BeamNG.drive. Career systems, custom vehicles, and immersive gameplay experiences.

Index

HomeProjectsPatreon

Socials

DiscordPatreon (RLS)Patreon (Vehicles)

© 2026 RLS Studios. All rights reserved.

Modding since 2024

API ReferenceGE Extensionscareermodules

Logbook

M.dependencies = {'career_career'}

Dependencies

M.dependencies = {'career_career'}

Player-facing event journal tracking mission unlocks, facility discoveries, spawn point unlocks, and tutorial info entries. Supports popups, read/unread state, and sound effects.


Public API

FunctionSignatureDescription
M.getLogbook() → tableAll entries sorted newest-first (includes hook-injected entries)
M.getPopups() → tableUnread entries marked as popups
M.getLogbookMostRecentUnread(limit) → tableUp to limit (default 3) recent entries, unread first
M.setLogbookEntryRead(entryId, read)Mark entry as read/unread
M.addNewLogbookEntry(entry, skipSave) → entryCreate a new logbook entry with auto-ID and timestamp
M.missionUnlocked(id)Add "mission unlocked" entry
M.deliveryFacilityUnlocked(id)Add "delivery facility unlocked" entry
M.spawnPointUnlocked(spawnPoint)Add "spawn point unlocked" entry
M.genericInfoUnlocked(title, text, cover, ratio, flavour, type) → entryGeneral info entry with sound
M.genericLogbookEntry(title, text, cover, coverText) → entryGeneric entry without special type
M.logbookEntry(id)Create entry from HTML template at /ui/modules/careerLogbook/pages/ID/

Hook Handlers

HookPurpose
M.onCareerActiveLoad logbook from save, populate default entries if empty
M.onSaveCurrentSaveSlotSave logbook data
M.onUpdateReset sound guard each frame

Entry Structure

{
  type = "progress",           -- "progress", "info"
  cardTypeLabel = "ui.career.poiCard.missionUnlocked",
  title = "Race: Highway Sprint",
  text = "New mission unlocked!",
  cover = "/gameplay/missions/preview.jpg",
  time = 1700000000,
  entryId = 5,
  isNew = true,               -- unread state
  showMessage = true,          -- triggers toast notification
  hideInRecent = false,        -- exclude from recent list
}

Default Entries

On first load, these entries are created (in reverse order): welcome, logbook, walkingMode, cameras, driving, crashRecover, bigmap, refueling, missions, dealership, testdrive, computer, partShopping, tuning, milestones, delivery


See Also

  • linearTutorial - Tutorial progression triggers logbook entries
  • milestones - Milestones can trigger entries

Career Log

M.dependencies = {"career_saveSystem"}

Marketplace

Player-to-NPC vehicle marketplace. Handles listing vehicles for sale, generating timed buyer offers, price negotiation with personality-driven AI opponents (private individuals and dealerships), and o

On this page

DependenciesPublic APIHook HandlersEntry StructureDefault EntriesSee Also