Callbacks

The callback system allows server scripts to handle requests from clients and vice versa.

RegisterServerCallback

Register a callback handler on the server that clients can trigger.

KOJA.Server.RegisterServerCallback(key, handler)
Parameter
Type
Description

key

string

Callback identifier

handler

function(source, payload, cb)

Handler — call cb(result) to respond

Example

KOJA.Server.RegisterServerCallback('myScript:getShopItems', function(source, payload, cb)
    local items = MySQL.query.await('SELECT * FROM shop_items WHERE category = ?', { payload.category })
    cb(items)
end)

Triggered from the client:

KOJA.Client.TriggerServerCallback('myScript:getShopItems', { category = 'food' }, function(items)
    for _, item in ipairs(items) do
        print(item.name, item.price)
    end
end)

TriggerClientCallback

Trigger a callback registered on a specific client from the server.

Parameter
Type
Description

key

string

Callback identifier

playerId

number

Target player server ID

payload

any

Data to send

callback

function(...)

Called with the client's response

Example

Registered on the client:

TriggerCallback (internal)

Manually trigger an already-registered server callback from another server script.

This is mainly for internal use. Prefer RegisterServerCallback + client triggers for the standard pattern.

Last updated