Author
|
Message
|
AMX Mod X Plugin Approver
|
04-05-2015
, 09:57
SteamTools (v1.2.0)
|
#1
|
SteamTools
「 v1.2.0, October 19th, 2017 - github.com/Arkshine/SteamTools 」
Table of contents:
DESCRIPTION
0This module gives access to a select few SteamWorks functions for AMX Mod X plugins.
➥ For people who don't know, SteamWorks is basically an API provided by Steam which developers can use to integrate many of Steam's functions.
Interface presently supported and exposed to Pawn is essentially ISteamGameServer for now.
Usually, the relevant interfaces from GoldSrc server point of view are: ISteamGameServer, ISteamUtils, ISteamNetworking, and ISteamHTTP.
Not all functions are going to work for GoldSrc, but let met know if they are some you would want to see implemented.
API
0The fast way is to check directly steamtools.inc include.
All is documented, it should be easy to use them.
CVARS
0sv_setsteamaccount <login_token>
From this thread, https://forums.alliedmods.net/showthread.php?t=234901:
“Gameserver accounts are now a Steam feature.
Using a steam gameserver account provides one important advantage right now: client favorite lists are keyed by the Steam account if present. This means that you can move your server to another IP address, and clients who have your server in their favorites or history will follow you to your new location.”
How to get a login token?
➀ Follow instructions here: http://steamcommunity.com/dev/managegameservers
➁ Open └1amxmodx/configs/steamtools.cfg and paste the login token as cvar value.
➂ On server start, Steam should be able to establish connection (if not, you pasted a wrong token)
➥ It could take some time before server being recorded by Steam.
NOTES
0- ISteamHTTP is likely to be supported for the next version.
CREDITS
0- asherkin and KyleS: Largely inspirated from their SteamTools and SteamWorks SourceMod extension respectively.
- GoRiLliAz (cs.team-shk.fr): Originally a paid request for specific feature and I would not done a full API without his request
CHANGELOG
0
v1.1.0 : February 12th, 2016- Fixed console assertion spam with newer SteamWorks SDK releases when steam is installed on the same computer
Code:
..\common\pipes.cpp (528) : Assertion Failed: m_OutstandingCallbackThreadId != ThreadGetCurrentId()
- Overhauled internal callback handling, performance should be improved
- Added Steam_AccountIDToPlayerID to convert an account id to an actual player's id
- Enabled logging of Steam API warnings (Amxx logs) v1.0.2 : April 15th, 2015 - ISteamClient is now retrieved in a more reliable way, directly from Steam API internal function. Technical explanation: This is useful this way in context where Steam is installed and this function will actually try to find steamclient.so/dll in Steam installation path (engine will use this file). Previous way was creating a new instance from file provided file by HLDS, but this could trigger a crash since both files may be mismatched or one is the 32bits version and the one installed by Steam 64bit. - Added a feedback message in console about game server account connection. This is similar to what does Source, e.g.:
Code:
Connection to Steam servers successful.
Public IP is 12.34.56.42
Assigned persistent gameserver Steam [G:1:4242] (111222333444555666)
VAC secure mode is activated.
v1.0.1 : April 11th, 2015- Server App ID is now retrieved from Steam API instead of parsing steam_appid.txt file
- Fixed mismatch ISteamGameServer interface version (was using 12 instead of 11, this could lead to potential crash under linux if you don't have more recent Steam API version)
- Added more debug messages in case where steamclient.so/dll or [lib]steam_api.so/dll are not found v1.0.0 : April 5th, 2015- Initial release.
INSTALLATION
0➀ Download latest version from GitHub
➁ Stop your server, unzip package and overwrite content in your └1amxmodx.
➂ If needs, configure sv_setsteamaccount cvar
➃ If you are not using API, open modules.ini and add steamtools.
⑤ Then start your server.
➥Eventually, check for any errors in the console.
__________________
Last edited by Arkshine; 10-19-2017 at 14:12.
Reason: Updated to v1.2.0
|
|
|
|