Skip to content

st.callback — Client/Server Callbacks ​

Registering a callback ​

Server:

lua
st.callback.register('myResource:myCallback', function(source, arg1, arg2)
    -- process and return
    return result1, result2
end)

Client:

lua
st.callback.register('myResource:myCallback', function(arg1, arg2)
    -- process and return
    return result1, result2
end)

Triggering a callback ​

Client → Server (await, blocking):

lua
local result1, result2 = st.callback.await('myResource:myCallback', false, arg1, arg2)
-- Second arg is optional delay (number) or false for no delay

Client → Server (non-blocking, with callback function):

lua
st.callback('myResource:myCallback', false, function(result1, result2)
    -- handle response
end, arg1, arg2)

Server → Client (await, blocking):

lua
local result = st.callback.await('myResource:myCallback', source, arg1)

Server → Client (non-blocking):

lua
st.callback('myResource:myCallback', source, function(result)
    -- handle response
end, arg1)

Convars ​

ConvarDefaultDescription
st:callbackTimeout300000Callback timeout in ms
st:debugCallbackSizes0Enable size logging (1 = on)
st:debugCallbackSizesMin0Minimum bytes to log