Page MenuHomeFeedback Tracker

getObjectDLC and getAssetDLCInfo don't work on server
Need More Info, NormalPublic

Description

When executed on the server, getObjectDLC and getAssetDLCInfo return null and [false,false,false,false,"",""] respectively for any object, even if it is actually a DLC object. This makes the commands harder to use in multiplayer.

Details

Severity
Minor
Resolution
Open
Reproducibility
Always
Operating System
Linux x64
Category
Scripting
Steps To Reproduce

Create a mission with a DLC object with a variable name and put it on a dedicated server. In the mission, use the debug console to server exec
getObjectDLC myObject and getAssetDLCInfo myObject and observe the returned value.

Additional Information

(noted OS is for server, clients are Windows)

Event Timeline

NikkoJT created this task.Jul 31 2021, 6:43 PM
dedmen claimed this task.Aug 2 2021, 12:17 PM
dedmen set Ref Ticket to AIII-54478.
TRAGER added a subscriber: TRAGER.Aug 2 2021, 1:18 PM
dedmen changed the task status from New to Need More Info.EditedAug 2 2021, 5:26 PM

No repro?!

getObjectDLC executed on server on a Apex "Dagor" works just fine.

It only works when the server has connection to steam, maybe yours doesn't?

I can double-check (this may take a bit), but since we use Steam for updates and such it would be pretty wild if there was no connection.

Okay, I spoke to one of our server wizards and this is what I got:

The server definitely seems like its connecting to Steam fine
There is this message in the log (this is the one i was referring to before) but this post from dedman suggests it can be ignored
https://forums.bohemia.net/forums/topic/218392-help-with-linux-server/?do=findComment&comment=3306203
SteamAPI initialization failed. Steam features won't be accessible!

Other Steam messages in the log show no errors
19:58:00 Initializing Steam Manager
19:58:00 Steam Manager initialized.
19:58:08 Host identity created.
19:58:09 Connected to Steam servers

And the server is registering with Steam without issue as seen by the fact it shows up in the server browser and this API call
https://api.steampowered.com/ISteamApps/GetServersAtAddress/v1/?addr=138.201.193.48
I've checked and other SQF commands that (presumably) require Steam connection like getPlayerUID work fine with server exec, it's get the DLC ones that don't work.
Also confirmed that this impacts Apex, Contact, etc. assets so not just limited to CDLC.

One things that might be a difference is that we don't have BattleEye enabled

Personally it seems bizarre that getObjectDLC requires Steam, since it should just be checking the DLC ID config entry for the object in question, and that requirement doesn't seem to be documented.