Mar 9, 2022
Onset - Talos
Onset 1.5.5 (Protocol Compatibility 5)

3D sound for 3D Web UIs

There is a new parameter for the function CreateWebUI3D and CreateRemoteWebUI3D to set the sound falloff distance.



New Lua functions
SetWebVolume(web, volume)

SetWebPitch(web, pitch)

New Lua events
The following events allow you to block certain input when you return false.

OnActionKey(EventType, ActionName, KeyName)

OnAxisKey(EventType, AxisName, KeyName)

New constants (enum). Used for the new On*Key events.
EInputEvent IE_Pressed = 0 IE_Released = 1 IE_Repeat = 2 IE_DoubleClick = 3 IE_Axis = 4


New Ambient Night Lighting

Lighting from street lamps and buildings in cities and towns have been improved to get a more accurate appearance from any distance on the map. This will further improve in the UE5.0 update later on.


Other notable changes
  • WebUIs now follow the audio volume multiplayer from the main menu settings.
  • Snow functions have been removed.
  • Work has been done to decouple the map from the core game. This effort is being done to separate game assets from the core game in the future.
Feb 5, 2022
Onset - Talos
Onset 1.5.4 (Protocol Compatibility 5)

This update removes the old server query mechanism & master server system. It is being replaced with the solution that the Steamworks library offers.

Server operators must update their servers to be shown in the game main menu.

Game
  • You can view a list of servers (outside of Onset) in Steam. Go to View -> Servers -> Change Filter to Onset.
  • The main menu will now display the branch name and buildid if you're running on a beta branch.
  • Temporary fix: Setting audio master volume to 0 will no mute the audio completely to prevent the annoying stuttering.
  • Updated background image and adjusted colors.
  • Steam library has been updated.
  • Fix event OnSteamOverlayActivated.

New list of servers (outside of Onset). In Steam go to View -> Servers -> Change Filter to Onset.


Server
  • All servers can now make use of bbcodes and UTF8 icons in hostnames. https://dev.playonset.com/wiki/DedicatedServer#Hostname_customization
  • server_config.json: Added "vac" setting. If enabled, VAC banned players won't be able to connect to your server. false by default.
  • Linux: steamclient.so should be loaded from "linux64" folder. Update will change the start_linux.sh to reflect this change.
  • Steam library has been updated. Linux console will no longer be spammed with Steam library messages when being loaded from the corrent folder.
  • Added a log message when a dev-mode enabled player is being kicked because he is not on the developer whitelist.
  • Printing a warn message when steam_appid.txt is not present at server startup.
Jan 7, 2022
Onset - Talos
  • Update WebUI library.
  • Update object images.
  • Update copyright year.
Dec 14, 2021
Onset - Talos
Onset 1.5.3 (Protocol Compatibility 5)

Client update


Add function EnableSnowParticles(bEnable)

Add function SetLandscapeSnowAlpha(Val)

Example usage:
AddEvent("OnPackageStart", function() EnableSnowParticles(true) SetLandscapeSnowAlpha(1.0) end)



The loadstring function now has a 2nd optional parameter for the package name. You can specify a different package where the code will be executed in.



For example you could create a console function that executes code in a specific package. In the above picture you can see the new snow function being executed in the package 'default'.

Code used:
AddEvent("OnConsoleInput", function(input) local cmd local args = {} for word in input:gmatch("%w+") do if cmd == nil then cmd = word else table.insert(args, word) end end if cmd == "x" then if args[1] == nil then print("Usage: x <package_name> <code>") return true end local code = input:sub(string.len(args[1]) + 4) print("Package Name:", args[1]) print("Code to be executed in package:", code) loadstring(code, args[1]) return true end end)

Add two new constants to Lua.

_PACKAGENAME
Holds the name of the current package.

_ONSETVERSION
Contains the current Onset version as a string.

Example usage:
print("This message comes from", _PACKAGENAME)

Add the following missing members of the Lua math table.

pi huge mininteger maxinteger

Example usage:
print(math.pi)
Nov 19, 2021
Onset - Talos
Onset 1.5.2 (Protocol Compatibility 5)

Motorboat_02


Helicopter_06


  • Fix roof collision of the marketplace building.
  • Fix scooter steer animation.
  • Update WebUI.

Add missing Lua functions to the client.
IsValidNPC(npcid) IsValidDoor(doorid) IsValidText3D(text3did) GetText3DActor(text3did) GetText3DText(text3did)

UnrealLua

AActor::GetActorTags()

Server
  • Add global event handler to C# "CallEventGlobally" (Thanks to DasDarki).
  • Fix C# context based registration process for commands.
  • Number of function fixes for C#.
  • Update DotNet runtime to 5.0.12.
  • Fix bullet sync where bullets are not spawned on each client.
  • Make CreateText3D rotation parameter optional.
  • Add OnServerLoaded event.
Jul 18, 2021
Onset - Talos
Game
  • Fix UCharacterMovementComponent not working with GetComponentsByClass
  • Increase tow truck acceleration.
  • Fix door model number 6 collision.
  • Fix game freezes mostly happening in fullscreen mode.
  • Fix ambient sound near the northern desert mountain.
  • Fix tractor, van and news van body coloring.

Server
  • Fix some Lua natives that broke due to C#.
  • Fix reported C# errors (Thanks to DaskDarki).
  • Fix crash on multi-dimensional tables.
  • Add function EnableObjectStreamEvents (bEnable) which enables OnObjectStreamIn/Out events.
  • Add optional bSync parameter to SetObjectLocation/Rotation and SetVehicleLocation/Rotation. This parameter is true by default. Setting it to false updates the internal location/rotation of the entity but does not sync it to the clients. Useful for stuff like physics sync and attached vehicle sync for tow trucks.
Jul 1, 2021
Onset - Talos
Onset 1.5.0 (Protocol Compatibility 5)

The game compatibility has changed in this release. Server owners must update their server via steamcmd in order to allow clients to connect.
https://dev.playonset.com/wiki/DedicatedServer

Experimental C# support (server side)



Onset now features C# as a secondary scripting language.

Why C#?
Lua hits its limits when it comes to large projects. Becoming difficult to keep track of structure due to it's missing type safety and limited OOP. Onset is and was always about learning and having fun coding. C# is a popular and stable language loved by many.

Will it split the scripting community?
It might cause distraction to some extent but the C# implementation and Lua work very well together. You can mix both in a package and also communicate between the two languages. In the end we think the pros will surpass the cons.

In this version only the server has C# support. The client will follow in one of the next updates.

To get started take a look at the documentation. Remember it's still in experimental state. Things can change a bit until the stable release.

C# Developer Wiki

A big thank you to DasDarki for working with me on the implementation. For his efforts he received a special rank on our Discord server.

New landscape material

The landscape material has been replaced to offer better variation and tiling at large distances.







Tractor

Vehicle made by PolySquid studios. Id to spawn is 63.



https://www.artstation.com/artwork/680yA6

Van

Vehicle made by PolySquid studios. Id to spawn is 61.



News Van

Vehicle made by PolySquid studios. Id to spawn is 62.



https://www.artstation.com/artwork/kDd3Xd

Apocalypse Cars

Vehicles added for apocalypse servers. Ids to spawn: 59 & 60.



Improved vehicle handling

Several improvements have been made to the vehicle handling.
Vehicles no longer get unstable at high speeds. Steering is more attached to the road. Generally the vehicles feel much heavier now. Acceleration has been adjusted accordingly.



Breakable vegetation

Many bushes and smaller trees can now be run over by cars. This feature can also be added to vegetation on custom maps selectively.



Dynamic vehicle camera

The vehicles camera now follows the car while driving. You can still move the camera freely with your mouse. The camera will reset behind the vehicle after a few seconds if there is no mouse input and while not standing still.



Improved UnrealLua Wiki

The wiki now finally has been updated to reflect all of the games Unreal functions showing their proper signature. There will be more usage examples too.

https://dev.playonset.com/wiki/UnrealLua

Other changes

New
  • Add function FlashInTaskbar()
  • Add function IsGameWindowFocused()
  • Add function IsDoorInteractable(door)
  • Add function GetGameLanguage()
  • Add event OnGameLanguageChange()
  • Add function GetServerPath()
  • Add function GetFilesInDirectory()
  • Add function GetDirectoriesInDirectory()
  • Add function SteamId3ToSteamId64()
  • Add function SteamId64ToSteamId3()
  • Add possibility to disable collision with vehicle tires if hit actor has DisableVehicleCollision tag. This is useful when moving roadblocks to avoid collision with vehicles.
  • Add developer mode whitelist server side setting to server config. "dev_whitelist" and "dev_whitelist_steamid". See https://dev.playonset.com/wiki/server_config
  • The address in the direct connect window is now saved on game restarts.
  • Add hostage animations to animation list.
  • Add loading screen (with progress) on game startup to prevent lags in the main menu.
  • New exposed UnrealLua functions:
  • Enums: EMovementMode, EEasingFunc
  • APawn::GetController
  • UKismetMathLibrary.RLerp, REase
  • UCharacterMovementComponent:SetMovementMode
  • UPrimitiveComponent:GetPhysicsLinearVelocity, GetPhysicsLinearVelocityAtPoint, GetPhysicsAngularVelocityInDegrees
  • AActor:GetVelocity
Add new tools to object list:


Fixes
  • Fix vehicle steering on level streaming load hitches.
  • Fix firetruck front license plate position.
  • Fix firetruck wheel collision.
  • Fix firetruck ladder becoming invisible at certain angles.
  • Fix vehicles behaving very unstable at high speeds.
  • Fix vehicle 24 front suspension height.
  • Fix police sedan bullbar collision.
  • Fix vehicle gear sync.
  • Fix height fog not being reset on level reset.
  • Some minor map fixes. Thanks to everyone reporting them.

Improvements
  • New grass bush has been added to the desert part of the landscape.
  • Improve bike handling a little bit.
  • Increase ground friction for vehicles.
  • Set default license plate text to "0123456789" on the server.
  • Improve fence meshes collision to prevent players glitching through them.
  • Print "[autostart]" next to the package name if this specific package was started from the autostart folder.
Feb 11, 2021
Onset - Talos
Onset 1.4.3 (Protocol Compatibility 4)

Firetruck





Keybindings for the ladder:
E, Q - Extend ladder
Numpad 4, 6 - Rotate ladder
Numpad 2, 8 - Move ladder up and down

The ladder and water mesh is a skeletal mesh with an attachment point named "water". You can use that to spawn and attach water particles through Lua.

Lua function SetWebFocus for WebUIs

This is a great addition to WebUIs. Until now you couldn't focus an input on purpose. For example for a custom chat system.

function OnKeyPress(key) if key == "Space Bar" then if IsCtrlPressed() then AddPlayerChat("Focus mapeditor") SetWebFocus(EditorGui) ExecuteWebJS(EditorGui, "FocusInput();") end end AddEvent("OnKeyPress", OnKeyPress)

After calling SetWebFocus you must also focus the HTML (input) element through Javascript.

Other changes

  • Add button to the main menu to open the server content cache folder.
  • Add SetHeightFogDensity, GetHeightFogDensity
  • Adjust front light intensity of some cars to be more consistent.
  • Improve vehicle torque, suspension and transmission settings for vehicle IDs 7, 8, 9, 13-16, 17, 18, 24, 42, 47, 48, 49
  • Add new engine sounds for Apocalypse_02 (ID 56)
  • Remove pumpkins from the cemetery.
  • Improvements to game asset size again.
  • Object IDs 728, 729, 732, 735 have been removed. (Replaced with a cube) You can use other existing chairs instead.
  • Add function UActorComponent:ComponentHasTag(TagName), ComponentAddTag(TagName), ComponentRemoveTag(TagName)
  • Add function UMaterialInstanceDynamic:GetFloatParameter(ParamNa me), GetColorParameter(ParamName), GetTextureParameter(ParamName)
  • Add function UObject:GetClass(), GetClassPathName()
  • UObject.ProcessEvent custom user parameters are not optional.

Fixes

  • Fix wrongly checking Lua errors in exported functions causingparams to always return nil
  • Fix player flying away when static mesh mobility is set to movable
  • Fix a game freeze in WebUIs.
  • Fix a game freeze when a sound (CreateSound/3D) is being destroyed.
  • Fix many map glitches.
  • Fix writing server data if existing file is read only.
  • Fix MuscleCar (ID 40) driver animation.
  • Fix some textures streaming incorrectly.
  • Should fix some landscape LOD artifacts.
  • Fix vehicle light sync in some circumstances


Server changes

Sandbox option

Add a new option named "sandbox" to the server_config.json. (Disabled by default)
Turning this on will enforce the same script security boundaries as on the client. For example no loading of compiled Lua scripts or usage of possible dangerous functions.


  • Fix BroadcastRemoteEvent parsing parameters incorrectly.
  • Fix crash when checking vehicle passengers.
  • Fix GetStreamedPlayersForPlayer not returning players that are inside a vehicle.
  • Update WorldDoors.lua in the default package.
Jan 22, 2021
Onset - Talos
Onset 1.4.2 (Protocol Compatibility 4)

Remote WebUI whitelisting

Until now remote WebUIs could only display websites that have been whitelisted in the game config.

To give you more freedom, servers can now request the client to whitelist additional domains. Only domain names with a top level domain (TLD) can be whitelisted.

Use the new function AddWebUIWhitelist in your index.lua or any other package script. When a player connects they will be asked.



Example whitelisting from the above picture:

The following Lua event is called in your scripts once the player reacted to the request screen:

-- The 1st parameter "domains" is a table containing the domains which the player allowed on the whitelist. AddEvent("OnWhitelistAccepted", function(domains) print("OnWhitelistAccepted", #domains) for k, v in pairs(domains) do print(k, v) end end)

Loading screen download progress

The following Javascript functions are now called in your custom connect screen.

function OnDownloadComplete(file) { console.log("OnDownloadComplete " + file); } // (string) msg: The message that is usually displayed to the player. // (string) file: What file is currently being downloaded. // (int) remaining_files: Number files still needed to download. // (string) bytes_received: The number of bytes already received for the current file downloading as a string. function OnDownloadProgress(msg, file, remaining_files, bytes_received) { console.log("OnDownloadProgress " + msg + " " + file + " " + parseInt(remaining_files) + " " + bytes_received) }

Clientside variable storage

Saving data on the client can be useful for some client settings. For example the ordering of an inventory in your UI.

Saving variables:
SetStorageValue("var_str", "Some long string variable") SetStorageValue("var_int", 1337) SetStorageValue("var_float", 3.1415) SetStorageValue("var_bool", true)

Reading variables:
print(GetStorageValue("var_str")) print(GetStorageValue("var_int")) print(GetStorageValue("var_float")) print(GetStorageValue("var_bool"))

Apocalypse_02 battle car

Spawnable using the function CreateVehicle with vehicle model id 56.



Other changes and additions
  • Add Lua function IsInputKeyDown.
  • Add UnrealLua function USkeletalMeshComponent:SetAllBodiesBelowSimulatePh ysics(BoneName, bNewSimulate, bIncludeSelf)
  • Fix Set/GetPlayerPropertyValue for the local player.
  • Negative player identifiers passed to Set/GetPlayerPropertyValue will now be treated as local player.
  • Fix error logging in exported functions.
  • Allow the default Lua function "error" on the client.
  • WebUIs now check files if they have been modified before they are loaded.
  • Support .otf and .woff font files.
  • The Truck02 vehicle has completely new collisions.
  • Fix backfire not working since the last update.
  • Some weird proxy LOD meshes should be fixed now.
  • Custom maps using world composition and streaming levels had a bug where the streaming levels are not loaded after reconnecting to a server. This is now fixed.
  • The game files have been optimized and reduced by another 1GB.
  • The winter edition is now disabled.

Server
  • Fix crash in exported functions where returned tables contain functions.
Jan 11, 2021
Onset - Talos
Onset 1.4.1 (Protocol Compatibility 4)

Package index.lua

Each package can now register package files and scripts in a special Lua file. The index.lua is executed before the server loads the package.json file. In this Lua file you can register scripts and files to this package.

The following functions are only available to the index.lua script. Besides that, only Lua library functions are exposed the index.lua but no other Onset server functions.


Example for an index.lua script:
AddServerScript("server/*_s.lua") AddClientScript("client/*_c.lua") AddSharedScript("shared/*.lua") AddFile("audio/sound.mp3") AddFile("ui/*.html")

For the package to work, there has to be either an index.lua or a package.json config file. Both at the same time are also supported.

Package autostart folder

To autostart packages place them into the folder "autostart" where your OnsetServer.exe is located. If the folder does not exist, create a new one.
Packages inside this folder will be started alphabetically before any other packages.

The function StartPackage will attempt to look for packages in the autostart folder first.

SetPlayerVoiceRange

Besides the existing voice channel feature, a new function has been introduced that allows you to set the 3D range of a player's voice.
The range can't be greater than the voice distance set in the server_config.json.

To reset the voice range pass a value of 0.0 or less to this function.

Server:
AddRemoteEvent("ServerWhisper", function(player, whisper) if whisper then -- Player will be heard only 4 meters (400 cm) SetPlayerVoiceRange(player, 400.0) else SetPlayerVoiceRange(player, 0.0) end end)

Client:
AddEvent("OnKeyPress", function(key) if key == "N" then CallRemoteEvent("ServerWhisper", true) end end) AddEvent("OnKeyRelease", function(key) if key == "N" then CallRemoteEvent("ServerWhisper", false) end end)

Config files comments

The server_config.json and package.json can now have comments starting with // or /* */.

Other server changes:
  • Update to VS2019 (VC16). If you have troubles starting the server make sure you have the latest 2019 vc_redist 64bit installed.
  • Print MB instead of KB to the console for the total client download if it exceeds a certain amount.
  • Add --port and --maxplayers parameter.

Client changes
  • Fix vehicles tires sometimes glitching through the ground.
  • Fix vehicle falling through the ground when getting out and the car is flipped.
  • Fix sportscar door position.
  • Fix Pak unloading too early when disconnecting and a custom map is still loaded.
  • WebUI whitelist PayPal and Cloudfront by default.
  • UObject.ProcessEvent now supports FName and FText.
  • Add function
UPrimitiveComponent:GetInertiaTensor(BoneName)

Wiki front page design updated

Check it out! https://dev.playonset.com/wiki/Main_Page

...

Search news
Archive
2025
Apr   Mar   Feb   Jan  
Archives By Year
2025   2024   2023   2022   2021  
2020   2019   2018   2017   2016  
2015   2014   2013   2012   2011  
2010   2009   2008   2007   2006  
2005   2004   2003   2002