AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Extensions (https://forums.alliedmods.net/forumdisplay.php?f=134)
-   -   [ANY] SteamWorks (https://forums.alliedmods.net/showthread.php?t=229556)

KorDen 11-30-2013 17:03

Re: [ANY] SteamWorks
 
Quote:

Originally Posted by KyleS (Post 2066786)
Modulo is usually pretty slow. I guess the end result is the same, how we get there is slightly different ;)

Ah, forgot about bit operations at the night when wrote this code, thanks.

Will you add my MSVC config (and maybe compiled win version) to the first post? Or you will not support windows builds at all?

V1SoR 01-05-2014 05:44

Re: [ANY] SteamWorks
 
Uncompilable with L4D2 SDK nor Source 2013 SDK. And the compiled version, despite loading fine in L4D2, doesn't generate anything, or generates random trash values.

KorDen 01-05-2014 16:37

Re: [ANY] SteamWorks
 
Quote:

Originally Posted by V1SoR (Post 2081344)
Uncompilable with L4D2 SDK nor Source 2013 SDK. And the compiled version, despite loading fine in L4D2, doesn't generate anything, or generates random trash values.

Have you replaced auth libraries (from the first post)? Remember that they replaced back every time you run update script.

Dr. Greg House 01-05-2014 18:49

Re: [ANY] SteamWorks
 
This needs the natives free to be kicked uses so that something similar can be done for L4D2 which is pretty much unplayable at the moment.

V1SoR 01-06-2014 03:34

Re: [ANY] SteamWorks
 
KorDen
Thanks, worked.

Dr. Greg House
Didn't quite understand what you said there. Did you mean that you want a way to detect "free-to-buy" Christmas players?

Dr. Greg House 01-06-2014 23:35

Re: [ANY] SteamWorks
 
Quote:

Originally Posted by V1SoR (Post 2081838)
Dr. Greg House
Didn't quite understand what you said there. Did you mean that you want a way to detect "free-to-buy" Christmas players?

YES

KyleS 01-08-2014 06:31

Re: [ANY] SteamWorks
 
1 Attachment(s)
If anyone's feeling brave, here's a WIP. I lied, there are a few natives, and forwards.

Steam_IsVACEnabled();
Steam_GetPublicIP(addr[4]);
Steam_GetPublicIPCell();
Steam_IsLoaded();
Steam_SetGameDescription(const String:sDesc[]);
Steam_IsConnected();
Steam_SetRule(const String:sKey[], const String:sValue[]);
Steam_ClearRules();
Steam_ForceHeartbeat();

And Forwards
Steam_SteamServersConnected
Steam_SteamServersConnectFailure(EResult);
Steam_SteamServersDisconnected(EResult);

If you have anything legacy from SteamTools and use it, let me know. If there's anything on ISteamClient, ISteamGameServer, ISteamUtils, ISteamNetworking, ISteamGameServerStats or ISteamHTTP again let me know. Things that require callbacks (like most stat functions / http) will come later. I'd say they wont, but at this point; might as well jump in and splash around. Natives are a bit strange in this, everything not explicit is a bool and will return false on failure.

Current Source is available: https://github.com/KyleSanderson/SteamWorks
Compiled From: https://github.com/KyleSanderson/Ste...90b0d2d7b2af85

Pull requests are definitely welcome; try to match the style :(

If you encounter a crash or something equally bizarre. It's a debug build; so if you attach a debugger and type `bt full` without back-ticks we can probably figure it out.

KorDen 01-08-2014 07:30

Re: [ANY] SteamWorks
 
Quote:

Originally Posted by KyleS (Post 2082852)
If anyone's feeling brave, here's a WIP. I lied, there are a few natives, and forwards.

oO

Do I understand it right, you want to implement SteamTools features that related to a server and doesn't require connection to Steam backend? (so you will not add e.g. gameplay stats?)

Question: is there a way to detect which version of auth libraries are on the server? E.g. to check before use SW_OnValidateClient?

Quote:

Originally Posted by Dr. Greg House (Post 2081715)
This needs the natives free to be kicked uses so that something similar can be done for L4D2 which is pretty much unplayable at the moment.

I think you must use Steam_CheckClientSubscription/Steam_GetClientSubscription from SteamTools. Subs for F2P are 36144 (ROW), 36145 (DE), 36146 (AU)
Something like
PHP Code:

bool:IsClientF2P(client)
{
    new 
subIdsubCount Steam_GetNumClientSubscriptions(client);
    for (new 
0subCounti++)
    {
        
subId=Steam_GetClientSubscription(clienti);
        if (
36144 <= subId <= 36146)
        {
            return 
true;
        }
    }
    return 
false;



KyleS 01-08-2014 07:58

Re: [ANY] SteamWorks
 
Quote:

Originally Posted by KorDen (Post 2082880)
Do I understand it right, you want to implement SteamTools features that related to a server and doesn't require connection to Steam backend? (so you will not add e.g. gameplay stats?)

This requires a lot more logic and planning to get the specific data the client has requested. I'm trying my best to not look at SteamTools (the only time I had to was with the strange implementation of Steam_GetPublicIP, I'm glad I did too; it was completely reversed...).
Quote:

Originally Posted by KorDen (Post 2082880)
Question: is there a way to detect which version of auth libraries are on the server? E.g. to check before use SW_OnValidateClient?

There's probably a public version string available. It would be a guess as I don't think they actually bumped anything in the binary besides adding the member, but oh well.

asherkin 01-08-2014 09:23

Re: [ANY] SteamWorks
 
Please use your own prefix rather than SteamTools' Steam_, people can't use both extensions on the same server currently as the names clash.


All times are GMT -4. The time now is 00:46.

Powered by vBulletin®
Copyright ©2000 - 2020, vBulletin Solutions, Inc.