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)

Dr. Greg House 11-13-2013 21:04

Re: [ANY] SteamWorks
 
Nope, no output at all.

I actually don't necessarily care about who prevents someone from joining, I'd simply like to join either way (if that is still possible).

Dr. Greg House 11-16-2013 23:57

Re: [ANY] SteamWorks
 
Okay, I have another one:

Dr. McKay's steamupdater (and a script I wrote) uses steamtools to determine when the masterserver informs the server of an update. Steamtools currently does not support L4D2 and other games, so I was wondering if you could add the forward needed for the plugins to be able to be ported to other engines.

KorDen 11-27-2013 09:52

Re: [ANY] SteamWorks
 
1 Attachment(s)
If this is allowed (I remember that psychonic removed compiled extensions at some thread during SteamPipe beta, so I don't know..), here is windows build.
Can't test it, because on Win I have only test TF2 server, but for TF2 callback shows same ID's (and its my account UID), so I think it works. Later I will install CSS server for tests and check this ext.

UPD: Tested on CSS Windows. Works fine.

asherkin 11-27-2013 10:49

Re: [ANY] SteamWorks
 
You need to attach the exact source code you used.

KorDen 11-27-2013 11:18

Re: [ANY] SteamWorks
 
Quote:

Originally Posted by asherkin (Post 2065971)
You need to attach the exact source code you used.

I'm used sources from first post, just modified VS project variables to include right folders for compiler. Am I need to upload this files? Also, am i need to modify it to use environment variables instead of full paths? I see that SteamTools don't use this logic (e.g. path to opensteamworks dir is d:\opensteamworks)

KorDen 11-27-2013 12:14

Re: [ANY] SteamWorks
 
Quote:

Originally Posted by KyleS (Post 2058917)
However, I've only tested using CS:S on Linux. Windows builds are possible, but I can't support them.

Did you tested that it really shows Owner SteamID? I have a problem on Linux: If I install libraries from SDK, my server shows correct OwnerID, but lagging like under DDoS. If I install original files, it don't show correct OwnerID. I have no idea what happens... Also, on Windows server it shows right OwnerID without any replaces (maybe because it use interfaces of running Steam Client..)

KyleS 11-27-2013 12:36

Re: [ANY] SteamWorks
 
Quote:

Originally Posted by KorDen (Post 2065999)
Did you tested that it really shows Owner SteamID?

http://steamcommunity.com/groups/gbe_elites Yes, it works... In some bizarre cases 0 is returned, so who knows.

Quote:

Originally Posted by KorDen (Post 2065999)
I have a problem on Linux: If I install libraries from SDK, my server shows correct OwnerID, but lagging like under DDoS.

I'm very confused by this; it also seems really unrelated to the extension :?

Quote:

Originally Posted by KorDen (Post 2065999)
If I install original files, it don't show correct OwnerID.

Correct, the value is uninitialized; garbage memory is being read.

Quote:

Originally Posted by KorDen (Post 2065999)
I have no idea what happens... Also, on Windows server it shows right OwnerID without any replaces (maybe because it use interfaces of running Steam Client..)

I believe this was the case with really old games. Newer games are independent, as far as I'm aware; I'm not very aware.

KorDen 11-28-2013 10:50

Re: [ANY] SteamWorks
 
1 Attachment(s)
Quote:

Originally Posted by KyleS (Post 2066004)
I believe this was the case with really old games. Newer games are independent, as far as I'm aware; I'm not very aware.

Tested: copied server to the PC without Steam - see random garbage. Installed Steam, updated it and close - see real ID. Uninstalled Steam - grabage. Downloaded and updated SteamCMD - garbage. Copied files from SDK - real ID

Attached MSVC10 project files. Using environment variables HL2SDK and STEAMWORKS_SDK, other paths are relative to sourcemod/extensions folder. It's enough for compile.

Also, here is simple fix for SB plugin (add this to the end of sourcebans.sp) that will just check if the user using Family sharing and if the owner banned.
PHP Code:

#include <SteamWorks>
public SW_OnValidateClient(OwnerSteamIDClientSteamID)
{
    if(
OwnerSteamID && OwnerSteamID!=ClientSteamID)
    {
        new 
tmp;
        for(new 
1<= MaxClientsi++)
        {
            if(
IsClientConnected(i))
            {
                
tmp GetSteamAccountID(i);
                if(
tmp && tmp == ClientSteamID)
                {
                    
decl String:steamid[32];
                    
Format(steamidsizeof(steamid),"STEAM_0:%d:%d", (OwnerSteamID 1), (OwnerSteamID >> 1));
                    
LogMessage("[SB] Checking FamilySharing user %L Owner: %s (OSID: %d, CSID: %d)",i,steamid,OwnerSteamID,ClientSteamID);
                    
OnClientAuthorized(i,steamid);
                    break;
                }
            }
        }
    }


The only problem with this fix is that if OwnerID banned, than query in VerifyBan function that insert info into banlogs table will fail, because this ID will not be in banlist. I think that I need to modify VerifyBan query to select not only bid, but authid too.. I will try to realize it later.
Also, later I will try to modify banning system to ban only owner SteamID.

V1SoR 11-29-2013 08:09

Re: [ANY] SteamWorks
 
Good idea KyleS. This will prove to be very useful once the Family Sharing gets out of beta.

I'm going to try and spread this across all competitive servers in L4D2. Smurf accounts in that game are already an acute problem as it is, but with FS it will only get uglier. Best is to lock out FS users out of the competitive scene completely.

KyleS 11-29-2013 14:56

Re: [ANY] SteamWorks
 
Quote:

Originally Posted by KorDen (Post 2066384)
Format(steamid,sizeof(steamid),"STEAM_0:%d:%d ",OwnerSteamID%2,OwnerSteamID/2);

PHP Code:

Format(steamidsizeof(steamid),"STEAM_0:%d:%d", (OwnerSteamID 1), (OwnerSteamID >> 1)); 

Modulo is usually pretty slow. I guess the end result is the same, how we get there is slightly different ;)


All times are GMT -4. The time now is 14:22.

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