ISteamGameServerStats

Note

This documentation is auto-generated. Methods marked with 🤖 are automatically generated bindings. Methods marked with ✍️ are manually implemented and methods marked with ✋ are currently not implemented.

Note

Overloaded Steam methods are exposed as distinct Lua functions using a type suffix (for example GetStatInt32 and SetStatFloat).

List of Functions

List of Callbacks

Function Reference

GameServerStats.ClearUserAchievement(steamIDUser, pchName)

🤖 Auto-generated binding

Parameters:
  • steamIDUser (uint64 - CSteamID) –

  • pchName (str?) –

Returns:

(bool) Return value

SteamWorks:

ClearUserAchievement

GameServerStats.GetUserAchievement(steamIDUser, pchName)

🤖 Auto-generated binding

Parameters:
  • steamIDUser (uint64 - CSteamID) –

  • pchName (str?) –

Returns:

(bool) Return value

Returns:

(bool) pbAchieved

SteamWorks:

GetUserAchievement

Signature differences from C++ API:

  • Parameter pbAchieved is not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.

Example:

local ok, achieved = Steam.GameServerStats.GetUserAchievement(playerSteamID, 'first_blood')
if ok and not achieved then
    Steam.GameServerStats.SetUserAchievement(playerSteamID, 'first_blood')
end
GameServerStats.GetUserStatFloat(steamIDUser, pchName)

🤖 Auto-generated binding

Parameters:
  • steamIDUser (uint64 - CSteamID) –

  • pchName (str?) –

Returns:

(bool) Return value

Returns:

(float) pData

SteamWorks:

GetUserStat

Signature differences from C++ API:

  • In C++, this is an overloaded method called GetUserStat. luasteam exposes each overload as a distinct function with a type suffix.

  • Parameter pData is not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.

GameServerStats.GetUserStatInt32(steamIDUser, pchName)

🤖 Auto-generated binding

Parameters:
  • steamIDUser (uint64 - CSteamID) –

  • pchName (str?) –

Returns:

(bool) Return value

Returns:

(int) pData

SteamWorks:

GetUserStat

Signature differences from C++ API:

  • In C++, this is an overloaded method called GetUserStat. luasteam exposes each overload as a distinct function with a type suffix.

  • Parameter pData is not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.

Example:

local ok, value = Steam.GameServerStats.GetUserStatInt32(playerSteamID, 'kills')
if ok then
    print('Kills:', value)
end
GameServerStats.RequestUserStats(steamIDUser, callback)

🤖 Auto-generated binding

Parameters:
  • steamIDUser (uint64 - CSteamID) –

  • callback (function) – CallResult callback receiving struct GSStatsReceived_t and a boolean

Returns:

(uint64) SteamAPICall_t handle for this async call. The result is delivered via the callback parameter when Steam.RunCallbacks() is called.

SteamWorks:

RequestUserStats

Example:

Steam.GameServerStats.RequestUserStats(playerSteamID, function(data, err)
    if not err and data.m_eResult == Steam.k_EResultOK then
        local ok, kills = Steam.GameServerStats.GetUserStatInt32(playerSteamID, 'kills')
        print('Player kills:', kills)
    end
end)
GameServerStats.SetUserAchievement(steamIDUser, pchName)

🤖 Auto-generated binding

Parameters:
  • steamIDUser (uint64 - CSteamID) –

  • pchName (str?) –

Returns:

(bool) Return value

SteamWorks:

SetUserAchievement

GameServerStats.SetUserStatFloat(steamIDUser, pchName, fData)

🤖 Auto-generated binding

Parameters:
  • steamIDUser (uint64 - CSteamID) –

  • pchName (str?) –

  • fData (float) –

Returns:

(bool) Return value

SteamWorks:

SetUserStat

Signature differences from C++ API:

  • In C++, this is an overloaded method called SetUserStat. luasteam exposes each overload as a distinct function with a type suffix.

GameServerStats.SetUserStatInt32(steamIDUser, pchName, nData)

🤖 Auto-generated binding

Parameters:
  • steamIDUser (uint64 - CSteamID) –

  • pchName (str?) –

  • nData (int) –

Returns:

(bool) Return value

SteamWorks:

SetUserStat

Signature differences from C++ API:

  • In C++, this is an overloaded method called SetUserStat. luasteam exposes each overload as a distinct function with a type suffix.

Example:

Steam.GameServerStats.SetUserStatInt32(playerSteamID, 'kills', newKillCount)
Steam.GameServerStats.StoreUserStats(playerSteamID, function(data, err) end)
GameServerStats.StoreUserStats(steamIDUser, callback)

🤖 Auto-generated binding

Parameters:
  • steamIDUser (uint64 - CSteamID) –

  • callback (function) – CallResult callback receiving struct GSStatsStored_t and a boolean

Returns:

(uint64) SteamAPICall_t handle for this async call. The result is delivered via the callback parameter when Steam.RunCallbacks() is called.

SteamWorks:

StoreUserStats

Example:

Steam.GameServerStats.StoreUserStats(playerSteamID, function(data, err)
    if not err and data.m_eResult == Steam.k_EResultOK then
        print('Stats saved for player:', tostring(data.m_steamIDUser))
    end
end)
GameServerStats.UpdateUserAvgRateStat(steamIDUser, pchName, flCountThisSession, dSessionLength)

🤖 Auto-generated binding

Parameters:
  • steamIDUser (uint64 - CSteamID) –

  • pchName (str?) –

  • flCountThisSession (float) –

  • dSessionLength (float) –

Returns:

(bool) Return value

SteamWorks:

UpdateUserAvgRateStat

Callbacks

GameServerStats.OnGSStatsReceived()

Callback for GSStatsReceived_t

callback(data) receives:

  • data.m_eResult (int - EResult)

  • data.m_steamIDUser (uint64 - CSteamID)

GameServerStats.OnGSStatsStored()

Callback for GSStatsStored_t

callback(data) receives:

  • data.m_eResult (int - EResult)

  • data.m_steamIDUser (uint64 - CSteamID)