1. Stormworks: Build and Rescue
  2. News

Stormworks: Build and Rescue News

v1.0.18-19 - The Transport Missions Update!



Dear Stormworkers,

This week we are releasing some new mission content we are working on - transport missions! Transport workers, inspectors, components, boxes and more in specific one-off missions where your help is required. These missions are similiar to many of the old missions but with one crucial difference - they are procedural!

While this is just one minor update to the missions system, we have more planned. We are really enjoying extending and using the LUA API to create this content, and there is a lot of really cool stuff still to be added.

These new LUA missions will appear in any new game, in the same way as normal missions. They are reasonably rare at the moment but we plan to continue to develop this and other new mission systems as we continue to improve career mode.



Last week we announced the poll on the Official Discord Server... and you broke Discord from voting so much! We have never had so much interest in the new features poll, and Discord simply could not handle the sheer number of emotes / votes. However, we were screenshotting the results periodically and have data from just before Discord started to struggle. The results are EXTREMELY interesting and we will be discussing the results in next weeks announcement!

Thank you to the thousands of you who gave your feedback on the poll. We really appreciate your input and it is very important to us that all Stormworks players get an equal say to influence us on where to next take the game. We really enjoy collaborating with you and are looking forward to continuing on this next chapter of Stormworks.



As always, this weeks update comes with many other fixes and improvements. Please see the full change list below for details.

Much love
The Stormworks Developers

v1.0.18

Fix - removed some character controller changes to fix issue falling through floor on death

v1.0.19

Feature - New transport missions

Rework - Absorbed server.whisper into server.announce
server.announce new optional peer_id parameter
Rework - UI improvements

Fix - Players falling through the floor on respawn
Fix - Winch audio position
Fix - Currency not synced after auto refuel
Fix - Lua help documentation code blocks getting cut off
Fix - Script callbacks returning host player peer_id instead of -1 when executed by a script
Fix - Seat helmet rendering not smoothed
Fix - Hat override not ending when teleporting from seats
Fix - Cargo playlist issues after saving and loading
Fix - Mission "Find" objective now follows the main vehicle instead of staying at the spawn position
Fix - Mission component tags box should be multi-line
Fix - Mission map UI desync on player join
Fix - Map custom lines now render under other icons

Upcoming - Vote In The New Poll! And Fixes Updates v1.0.16-17



Dear Stormworkers,

We need to know, what do you want next in Stormworks?

Head over to the Official Stormworks Discord Server #announcements channel, and let us know what features you would like to next in Stormworks! Simply click on the associated emotes to vote for that feature.

It's really important to us that we keep in touch with players. Stormworks is a unique game with a very unique, creative community. Many of you have hundreds or even thousands of hours within the game, and know a lot of what Stormworks is about. We want to shape the next steps for the game with you, and understand the direction that you think we should go in.



We are currently working on the next major update - modular engines! This update is in progress and shared with everyone in the experimental branch of the game.

This week, we are also releasing a bug fixing update with many fixes and improvements to the quality of the game. Please see below for a full list of changes.



Much love
The Stormworks Developers

v1.0.16-17

Fix - Chat CTD
Fix - Toggle button not holding its state when power is cut
Fix - Multiple fluid spawners refunding costs for a shared volume
Fix - CTD on linking helm audio node
Fix - Muffle effect persisting when teleporting from a seat
Fix - Character physics unable to swim through small holes underwater
Fix - Camera transition not smoothed when exiting water
Fix - Active but expired mission vehicles despawning on save/load
Fix - Electric relay being interactable
Fix - Character capsule collision not disabling in seats
Fix - Rain/Snow hitting clouds
Fix - Water Cannons / Hoses consuming fuel
Fix - Character not crouching after jumping while crouch is held
Fix - Invisible ropes for multiplayer clients
Fix - Character ragdolls getting stuck in physics when exiting seats
Fix - Removed internal explosion ignition point parameter from lua createFire and mission editor
Fix - Winch ropes not having the correct number of physics nodes on spawn
Fix - Playlist Lua updates and documentation fixes
-- server.whisper() can now use peer id -1 for all peers
-- api now pushes integers instead of numbers where appropriate

v1.0.15 - The Audio Headset Update!



Dear Stormworkers,

This week we are adding new options for many of the seat components in Stormworks - audio nodes!

Some chairs now have the option to add a pilot helmet or headset. When using the head gear, the seat then has a built in speaker and microphone linked directly to the player in that seat! This is really useful for creating intercom systems and communicating with other players within a vehicle over multiplayer.

But this isn't just a multiplayer feature - using a seat with headgear also reduces and muffles environmental sound, making it much more comfortable to operate powerful vehicles with big engines!

When players use seats with head gear, the helmet or headset appears on the player character while in the seat.



This update has already been tested on experimental branch for a few days, as we change our release procedures to best ensure higher quality releases and more robust updates. We are really excited to be working with the entire community (rather than previously where there was a closed testing group) and be more open with development.

We have also been hard at work continuing to address many issues within the game, all of which have been introduced to the experimental branch as well. See the change notes below for a full list of changes.

Much love
The Stormworks Developers

Patch Notes

v1.0.15

Feature - Seat audio nodes and toggleable headset property

Rework - Removed cargo zone merging
Rework - Scripts are now only ticked when the game is simulating
Rework - Allow dead/incapacitated characters to be placed in beds/stretchers
Rework - Survivors no longer exit seats when vehicles unload
Rework - Water particle extinguish rate now based on distance to fire

Fix - Chatbox covering sound setting sliders
Fix - Laser distance sensor values persisting when toggled off
Fix - Gimbal camera mirrored editor arrows
Fix - Gimbal camera laser rendering flipping in y-axis
Fix - Player charged for auto-refuel when loading a save
Fix - Carried/Seated characters not updating submerged state when NPC damage is enabled
Fix - Player rendering when zoomed in with binoculars
Fix - MP clients falling through floor when teleporting
Fix - MP clients falling through floor when connecting
Fix - MP clients falling through floor when disconnecting
Fix - Buying/selling fuel when auto-refuel is disabled
Fix - Rail junctions not saving their state
Fix - Seat back voxels not being raycastable (Hard to get in seats)
Fix - Button state inverting when cutting power whilst overriding the node
Fix - CTD extinguishing forest fires on DS
Fix - Forest fires not extinguishing correctly by fire extinguisher on DS
Fix - Camera inputs not clearing when toggling photo/noclip mode
Fix - PTT being disabled when scrolling over hotbar radio equipment
Fix - Winch ropes added in vehicle editor snapping to 10m when winch extended/retracted
Fix - Prevent mission fires re-igniting on unload/load
Fix - Active tool staying active when collecting equipment
Fix - Classic career now applies research filters to the vehicle editor hotbar
Fix - Added missing mission location names
Fix - onVehicleDamaged lua callback

onVehicleDamaged(vehicle_id, damage_amount, voxel_x, voxel_y, voxel_z) -- damage amount returns negative if component is repaired

v1.0.1-14 - Classic Career, Research Tree, Mission Spawning UI, And More!



Dear Stormworkers,

We launched Version 1.0!!! What an incredible week.

Thank you to all the players who gave us feedback and helped shape many of the improvements we have made this week.

Lets look at what we have been up to this week:

Sept 17th: Launched Version 1.0! With the new LUA modding, spreadable fires, first person equipment, missions, tutorial, audio effects, and more.

Sept 20th: Added "Classic Career" mode with research trees, map fog, player icons, and many other settings familiar to the old career mode.

Sept 21st: Added "Test Location" button to the mission editor so that players can easily and quickly spawn their vehicle spawning missions without any scripting.

Using the new mission location spawning is really easy: from in game, press Esc, click Mission Editor. Load up your mission and find the location you wish to spawn and click "Test Location".

Sept 22nd: Normal mode is now emulated by selecting "infinite electric", "infinite fuel", and deselecting "engine overheating". As previously discussed, our intention was never to remove normal mode, but rather integrate it as real time settings into the new Custom Menu.

Sept 23rd: Reworked the new ropes, hoses and cables! These are now twice as long, easier to handle, and generally work better.

These are just the headlines, we have also implemented many many small changes and fixes. Full change notes below!



Version 1.0 is not the final version and development continues as normal. We will soon resume work on the new modular engines and develop them with the community, on the new experimental branch.

In response to much helpful feedback, we also plan to change our release procedures, so that minor fixes and new features are tested more, then released to experimental, before finally being released to the release branch of the game. Only the most critical hot-fixes will be promoted directly to the release branch.



We look forward to hearing all your feedback on the new changes! We have big plans yet for Stormworks and really look forward to working with you on the experimental branch as we begin the next phase of development for Stormworks!

Much love
The Stormworks Developers

Patch Notes

v1.0.1
Feature - Enabled Experimental Branch

v1.0.1a
Feature - Enabled Modular Engine Components

v1.0.2

Feature - New playlist Lua to simplify vehicle spawning scripts
playlist_index = server.getPlaylistIndexByName(name)
playlist_index = server.getPlaylistIndexCurrent()
location_index = server.getLocationIndexByName(playlist_index, name)
server.spawnThisPlaylistMissionLocation(name)

Rework - Made tutorial end more clear
Rework - Balanced mission rewards
Rework - Balanced fluid/fuel costs

Fix - Updated video tutorial playlist link
Fix - Disabled mission debug text in chat
Fix - Updated playlist Lua help tab meta section
Fix - Deprecated simple mode turbine
Fix - Deprecated static block
Fix - Equipment drop dupe bug
Fix - Headless player in wardrobe editor
Fix - New playlist now clears old Lua
Fix - Old (unsupported) saves loading in current game version
Fix - Tutorial active not resetting on new saves
Fix - Charge player for starter boat
Fix - Can no longer sell starter tractor and trailer

v1.0.3

Fix - Broken crouch anim in character editor
Fix - Door jitter in multiplayer
Fix - Detatch survivor from seats/ropes/carried if updated to NPC

v1.0.4

Rework - Updated benchmark scenes
Rework - Updated fluid gantries

Fix - Mission editor workshop upload tags
Fix - server.setGameSetting

v1.0.5

Feature - Classic Career preset
Feature - Re-added research and component unlocking

Rework - Updated playlist Lua
server.setCurrency(money, research)
points = server.getResearchPoints()
server.setGameSetting("unlock_all_components", true)

Fix - Tutorial blocking missions if loaded after tutorial ended
Fix - Missions ending with wrong message when expiring
Fix - Cargo script error when editing an iterated table
Fix - Missions without fire support not spawning fire objective

v1.0.6

Rework - Tutorial now only starts if components are unlocked (Disabled for old career))

v1.0.7

Feature - Added test location button to locations in playlists
Feature - Infinite Electric no longer requires batteries or logic links
Feature - ?reload_scripts now autosaves and fully reloads playlist data including locations
Feature - added isTilePurchased(matrix) lua function

Rework - onCreate playlist callback now passes is_world_create parameter, this makes setting up events at world start easier (eg. set starting cash)

Fix - Lack of warning and component stripping when inf money is on and unlocked components is off
Fix - Multibody child components appearing in the inventory
Fix - Active item failing to disable when picking up items from the ground
Fix - Electric/Fluid connections not severing when disconnecting Cables/Hoses
Fix - Infinite fuel not applying to air/exhaust/coolant
Fix - Career main menu description
Fix - Microprocessor spawning when components not unlocked
Fix - Tutorial always activating
Fix - Component visibility when components locked
Fix - CTD when radar raycasts physics with no user data
Fix - Cargo script error when vehicle ID returns as nil
Fix - Blueprints are now required for microprocessors even when inf money is off
Fix - Tutorial now supports players other than host (Dedicated server fix)
Fix - CTD picking up fire extinguisher on dedicated server
Fix - Tutorial activating when tile is not purchased
Fix - Added fix for tutorial getting stuck in a loop

added ?tutorial command to the script to check if the tutorial is active

v1.0.8

Fix - fixed research reward for missions

v1.0.9

Fix - Multiplayer equipment crashes

v1.0.10

Feature - Added test location button for Env Mods by treating them the same as normal locations

Fix - Mission vehicles not spawning due to how they were saved
Fix - Non-admins being unable to trigger custom commands
Fix - Outdated code in playlist Lua help
Fix - Game settings are now synced after using setGameSetting
Fix - Tutorial script failing to update objectives if saving halfway through
Fix - Set classic career start cash to 15000
Fix - Infinite fuel no longer requires any inputs for engines to work
Fix - Characters not updating follower chains when being set to NPC
Fix - NPC names not saving
Fix - Tooltips appearing in vehicle third person
Fix - Cost labels not showing in custom mode (when toggling infinite money)
Fix - Network event for unlocking all islands on dedicated server
Fix - NPC ladder breadcrumbs not working
Fix - Extended space for names in chat and capped names at 12 chars

v1.0.11

Rework - Increased rope spool speed

Fix - Dedicated server CTD on ?save
Fix - Allow selecting/dropping disabled equipment and added UI icons to show disabled equipment
Fix - Remove defunct UI for detatch rope
Fix - Rotating jet exhaust, laser distance sensor, transponder, and transponder locator no longer use power unless active
Fix - Rope state multiplayer sync
Fix - Do not set tutorial starter boat to despawn
Fix - Turned off chat name clipping, extended chat box
Fix - Gearboxes not working after repairing them
Fix - Equipment boxes mass and values
Fix - Prevent drowning while swimming on the surface in first person
Fix - Lua documentation fixes
Fix - Fluid exhaust voxels and removed buoyancy surfaces
Fix - Jet engines not working when infinite fuel enabled
Fix - Purchase interactables no longer block raycasts

v1.0.12

Fix - CTD caused by fluid exhaust change

v1.0.13

Fix - Ropes causing issues when returning to workbench

v1.0.14

Fix - Mission system sometimes not saving correctly
Fix - Reduced career starting cash to 20000 to match reduced cost of tutorial boat
Fix - Hat not rendering sometimes when in a seat

Stormworks Version 1.0 Out Now!



Dear Stormworkers,

Version 1.0 is here!

Check out the new trailer.

Remember, Version 1.0 is just the beginning. We have big plans for many minor and major updates as development continues as normal, as well as loads of time put aside for fixing and improving the game.

Experimental branch is live! To access experimental branch and the new modular engines, go to your Steam library, right click on Stormworks, then go to the Betas tab. Here you should be able to select the "experimental" beta.

There is a huge amount in this update. Please see below for the full change log, but lets briefly recap the biggest new features in todays update!



New LUA Game Modding

We have added a whole new type of content creation in Stormworks - game scripting! We have added scripts to the mission editor, and a whole new API for controlling the game from here. We used this to make the new missions, tutorial, and cargo system, but is can also be used for servers, or creating new games within the Stormworks world.

First Person Body, Tools, Equipment

You now have a body when in first person mode, and can use handheld tools and equipment. There is repair tools, medical equipment, tracking and illumination equipment and more!

Spreadable Vehicle Fire

Fire on vehicle now spreads! Fire creeps along surfaces, damages components, and hurts players. Fire can quickly get out of control and is a huge new design consideration when creating Stormworks vehicles. Fire respects doors and is compartmentalised.

New Career and Missions, Tutorial, Logistics

There are new procedural missions, the new tutorial, and a container cargo handling system. There is now a huge amount more to do in the world of Stormworks, and much more to come, with an open API for creating gameplay content.

New Customisation Menu

You now have full control of game settings, real time from within the game. Infinite fuel and electric, teleporting, damage, first person, map visibility and more!

Weather Simulation & Seasons

Weather is now locally simulated, and more extreme. Expect stronger winds, bigger waves, and predictable weather systems and storms.



Thank you to all players who bought, played, discussed, shared on the workshop, suggested features, and reported bugs, for helping us reach this huge milestone! It is a huge privilege that so many of you have chosen to spend so much time playing our game, and it means a lot.

There is so much more to come in the world of Stormworks, and we look forward sharing this journey with you all as we continue to make Stormworks as good as it can be!

Much love
The Stormworks Developers

Patch Notes

v1.0.0


Major Feature - First Person Tools and Features
Major Feature - Playlist Lua Scripts with extensive custom mission and gamemode support
Major Feature - Weather Simulation and Map Overlays with Seasons
Major Feature - Vehicle Fire Spread
Major Feature - Creative Menu is now Custom Menu and has many new customisation options and tools
Major Feature - New Tutorial and Procedural Mission Playlists
Major Feature - New First person experience and animations
Major Feature - Multiplayer Improvements and Optimisation

Major Feature - Experimental Steam Branch
Experimental Feature - Modular Engine Parts

Feature - Manual doors can now have custom names
Feature - Wind no longer affects 'indoor' areas
Feature - Damaging Engine / Electrical components now causes spreadable fires
Feature - Added small visual marker at the center of the location editor
Feature - Mission editor location naming
Feature - Player nameplates light up when speaking
Feature - Audio system overhaul
Feature - Added Video Tutorials button to the menu
Feature - Populated some areas with NPCs

Rework - Removed Basic Mode
Rework - Removed Tech-Tree and Stock
Rework - Career mode now uses a predefined ruleset and is treated as a standalone hardcore mode
(Players looking for a more personalised career experience can now customise Stormworks in 'Custom' mode)
Rework - Creative mode is now part of Custom mode
Rework - Carrying heavy equipment / bodies now slows the player
Rework - Weather can now be more violent at its peak
Rework - Winches now have linear speed
Rework - Removed all old preset mission playlists
Rework - Less important map icons now take up less space
Rework - $30k Starting cash
Rework - Automatic charging and refunding for fuel spawned
Rework - New island generation pattern
Rework - Removed "Loading Vehicles" notification
Rework - Dead bodies can now be picked up
Rework - Updated rope hook mesh
Rework - Doors on islands can now be opened without purchasing the island
Rework - Engine temperature scaling/cooling

Fix - Chat message crash
Fix - Greatly increased speed of inventory in the vehicle editor
Fix - Pivots selling for more than their cost
Fix - Game Date not syncing in mp
Fix - Rain splashes on water surface
Fix - Disabled Mission Editor for mp clients
Fix - Disabled Loading other saves during mp
Fix - Animation when holding Sprint and Walk
Fix - Rain falling through glass
Fix - NPCs not benefiting from outfits
Fix - Infinite jumps when colliding with carried NPCs
Fix - Taking damage on teleport
Fix - Wheel shadows desyncing at speed
Fix - Several situations where controls are sticky
Fix - CTD on despawning subgrid with new wheels
Fix - Characters always try to look North
Fix - Rendering issues with max FOV in compartments that are underwater
Fix - Diving hitbox mismatching the animation
Fix - CTD on game close
Fix - Flame damage boxes on rotating jet nozzles
Fix - Train wheel data tooltips
Fix - Rail nodes remember the track signal state
Fix - NPC detach from ladder stopping following
Fix - Radar now only triggers Radar Detectors when it is the most relevant detected contact
Fix - Glass material on laser detector
Fix - Water cannon fluid connection
Fix - Killing carried NPCs upon fast travel
Fix - Diagonal railing surface issue
Fix - Additive paint selection
Fix - Editor opens load vehicle screen after attempting to spawn an out of budget vehicle
Fix - CTD for players in seats
Fix - Increase "indoor" box on starter island cottage
Fix - Tooltips for seats, rope-hooks, winches, connection gripper, and paintable indicators
Fix - Water cannon actuation
Fix - SR Latch description to match behaviour
Fix - Increased mass of premade fluid tanks
Fix - Gearbox uses default gear ratio when spawned but unpowered
Fix - Recentered 7x7 high grip tyre mesh
Fix - Circuit breaker uses forced color when rendering
Fix - Electric heater breaking completely after 1 damage
Fix - Moved beginner island edit grid down
Fix - Spotlight volumes weak rendering
Fix - Component damage is now capped at 50
Fix - Survivors looping 'play once' animations when carried
Fix - Disappearing ragdolls
Fix - Updated distance sensor descriptions to show correct range
Fix - Variable and on/off fluid valves now require Electric
Fix - Laser beacon rendering when mirrored
Fix - Rotors no longer make sound when folded
Fix - Unpowered lights no longer attempt to render
Fix - CTD if a follower was suddenly unloaded
Fix - Animals are now buoyant inside compartments
Fix - Radar and Sonar now only detect targets above and below sea-level respectfully
Fix - Survivor temperature and oxygen network sync
Fix - Chatbox storing infinite messages (now 128 cap)
Fix - Microprocessor memory register
Fix - Breath bar not recovering while wearing diving equipment
Fix - Rain rendering underwater
Fix - Hide chat in photo mode
Fix - Updated diesel engine descriptions
Fix - Static vehicle draining power by default
Fix - Fixed electric relay default state
Fix - Carried survivors dying when teleporting
Fix - Physics and render issues with props at speed
Fix - Engines now fully cut out when EMP'd
Fix - Camera IR laser
Fix - Accumulating lag when looking at a tooltip
Fix - Adjusted mega-island, arctic-base and mp-island 'indoor' hitboxes

F2 developer debug modes have now been removed

Old mission spawning system support has now been removed
Unchecking all playlists will no longer spawn default missions


First Person Items
============
Binoculars
Cable
Compass
Defibrillator
Fire Extinguisher
First Aid Kit
Flare
Flaregun
Flaregun Ammo
Flashlight
Hose
Night Vision Binoculars
Oxygen Mask
Radio
Radio Signal Locator
Remote Control Unit
Rope
Strobe Light
Strobe Light Infrared
Transponder
Welding Torch
Underwater Welding Torch


New Playlist Lua Script exclusive callbacks and functions
============

g_savedata = {}
The g_savedata table is saved to xml between sessions, you can place variables and tables inside if you want them to persist across sessions.
when loading from file the g_savedata table will overwrite any identical variables declared within the script

peer_id can be passed as -1 to send for all peers


Matrix Functions (4x4)
=================
matrix = matrix.multiply(matrix1, matrix2)
matrix = matrix.invert(matrix)
matrix = matrix.transpose(matrix)
matrix = matrix.identity()
matrix = matrix.rotationX(radians)
matrix = matrix.rotationY(radians)
matrix = matrix.rotationZ(radians)
matrix = matrix.translation(x,y,z)
x,y,z = matrix.position(matrix)
dist = matrix.distance(matrix1, matrix2)

Server Functions
================

server util
===========
server.announce(name, message)
server.whisper(peer_id, message)
server.notify(peer_id, title, message, NOTIFICATION_TYPE)

ui_id = ui.getMapID()
server.removeMapID(peer_id, ui_id)
server.addMapObject(peer_id, ui_id, POSITION_TYPE, MARKER_TYPE, x, y, z, parent_local_x, parent_local_y, parent_local_z, vehicle_id, object_id, label, vehicle_parent_id, redius, hover_label)
server.removeMapObject(peer_id, ui_id)
server.addMapLabel(peer_id, ui_id, LABEL_TYPE, name, x, y, z)
server.removeMapLabel(peer_id, ui_id)
server.addMapLine(peer_id, ui_id, start_matrix, end_matrix, width)
server.removeMapLine(peer_id, ui_id)

server.setPopup(peer_id, ui_id, name, is_show, text, x, y, z, is_worldspace, render_distance)
server.removePopup(peer_id, ui_id)
server.createPopup(peer_id, ui_id)

player
===========
name = server.getPlayerName(peer_id)
PLAYER_LIST = server.getPlayers()
matrix = server.getPlayerPos(peer_id)
server.teleportPlayer(peer_id, matrix)
server.killPlayer(peer_id)
server.setSeated(peer_id, vehicle_id, seat_name)
x,y,z = server.getPlayerLookDirection(peer_id)

vehicle
===========
vehicle_id = server.spawnVehicle(matrix, playlist_index, component_id)
vehicle_id = server.spawnVehicleSavefile(matrix, save_name)
server.despawnVehicle(vehicle_id, is_instant)
matrix = server.getVehiclePos(vehicle_id, voxel_x = 0, voxel_y = 0, voxel_z = 0)
name = server.getVehicleName(vehicle_id)
server.teleportVehicle(matrix, vehicle_id)
server.cleanVehicles()
server.pressVehicleButton(vehicle_id, button_name)
server.getVehicleFireCount(vehicle_id)
server.setVehicleTooltip(vehicle_id, text)
is_simulating = server.getVehicleSimulating(vehicle_id)
server.setVehicleTransponder(vehicle_id, is_active)
server.setVehicleEditable(vehicle_id, is_editable)

mission
===========
path = server.getPlaylistPath(playlist_name, is_rom)
server.spawnObject(matrix, OBJECT_TYPE)
is_found, matrix = server.getObjecPos(object_id)
object_id = server.spawnFire(matrix, size, magnitude, is_lit, is_initialzied, is_explosive, parent_vehicle_id, explosion_point, explosion_magnitude)
server.despawnObject(object_id, is_instant)
object_id = server.spawnCharacter(matrix, (outfit_id))
object_id = server.spawnAnimal(matrix, animal_type, scale)
server.despawnCharacter(object_id, is_instant)
hp, matrix = server.getCharacterData(object_id)
server.setCharacterData(object_id, hp, is_interactable)
server.setCharacterItem(object_id, slot, EQUIPMENT_ID, is_active)
tutorial_completed = server.getTutorial()
ZONE_LIST = server.getZones(tag(s))
is_in_zone = server.isInZone(matrix, zone_name)
matrix = server.spawnMissionLocation(matrix, playlist_index, location_index)
server.spawnMissionObject(matrix, playlist_index, location_index, object_index)
server.despawnMissionObject(object_id, is_instant)
count = server.getPlaylistCount()
PLAYLIST_DATA = server.getPlaylistData(playlist_index)
LOCATION_DATA = server.getLocationData(playlist_index, location_index)
OBJECT_DATA = server.getLocationObjectData(playlist_index, location_index, object_index)
server.setFireData(object_id, is_lit, is_explosive)
is_lit = server.getFireData(object_id)
matrix = server.getOceanTransform(matrix, min_search_range, max_search_range)
is_in_area = server.isInTransformArea(matrix_object, matrix_zone, zone_x, zone_y, zone_z)

game
===========
server.setGameSetting(setting_name, bool)
GAME_SETTINGS = server.getGameSettings()
server.setCurrency(amount)
amount = server.getCurrency()
days_survived = server.getDateValue()
system_time = getTimeMillisec()

http
===========
server.httpGet(port, request)

admin
===========
server.banPlayer(peer_id)
server.kickPlayer(peer_id)
server.addAdmin(peer_id)
server.removeAdmin(peer_id)
server.addAuth(peer_id)
server.removeAuth(peer_id)

Callback Functions
==================
onTick(world_ticks)
onCreate()
onDestroy()
onCustomCommand(full_message, user_peer_id, is_admin, is_auth, command, args ...)
onChatMessage(sender_name, message)
onPlayerJoin(steam_id, name, peer_id, is_admin, is_auth)
onPlayerSit(peer_id, vehicle_id, seat_name)
onPlayerRespawn(peer_id)
onPlayerLeave(steam_id, name, peer_id, is_admin, is_auth)
onToggleMap(peeer_id, is_open)
onPlayerDie(steam_id, name, peer_id, is_admin, is_auth)
onVehicleSpawn(vehicle_id, peer_id, x, y, z)
onVehicleLoad(vehicle_id)
onVehicleTeleport(vehicle_id, peer_id, x, y, z)
onVehicleDespawn(vehicle_id, peer_id)
onSpawnMissionObject(object_id, name, OBJECT_TYPE, playlist_name)
onVehicleDamaged(vehicle_id, damage)
httpReply(port, request, reply)
onFireExtinguished(x,y,z)

Types and info
==================

POSITION_TYPE |
0 = fixed,
1 = vehicle,
2 = object

MARKER_TYPE |
0 = delivery_target,
1 = survivor,
2 = object,
3 = waypoint,
4 = tutorial,
5 = fire,
6 = shark,
7 = ice,
8 = search_radius

LABEL_TYPE |
0 = none,
1 = cross,
2 = wreckage,
3 = terminal,
4 = military,
5 = heritage,
6 = rig,
7 = industrial,
8 = hospital,
9 = science,
10 = airport,
11 = coastguard,
12 = lighthouse,
13 = fuel,
14 = fuel_sell,

NOTIFICATION_TYPE |
0 = new_mission,
1 = new_mission_critical,
2 = failed_mission,
3 = failed_mission_critical,
4 = complete_mission,
5 = network_connect,
6 = network_disconnect,
7 = network_info,
8 = chat_message,
9 = network_info_critical,

PLAYER_LIST |
{ [peer_index] = {["id"] = peer_id, ["name"] = name, ["admin"] = is_admin, ["auth"] = is_auth}}

ZONE_LIST |
{ [zone_index] = { ["name"] = name, ["transform"] = matrix, ["size"] = {x, y, z}, ["radius"] = radius, ["type"] = ZONE_TYPE , ["tags"] = {