Raised This Month: $12 Target: $400
 3% 

SourceTV Manager


Post New Thread Reply   
 
Thread Tools Display Modes
8guawong
AlliedModders Donor
Join Date: Dec 2013
Location: BlackMarke7
Old 04-15-2016 , 05:33   Re: SourceTV Manager
Reply With Quote #11

sorry i'm noob
could some1 tell me when this extension would be of use?
__________________
8guawong is offline
nosoop
Veteran Member
Join Date: Aug 2014
Old 04-16-2016 , 04:20   Re: SourceTV Manager
Reply With Quote #12

Quote:
Originally Posted by 8guawong View Post
sorry i'm noob
could some1 tell me when this extension would be of use?
If you're not running SourceTV, then this wouldn't be useful to you at all.

Otherwise, it provides a few new possibilities:
  • Sending messages that can only be seen by spectators (and won't show up in the demo).
  • Using the connection events to provide player join / leave messages on the main server when someone is spectating via SourceTV.
  • I think you could also get the total number of spectators watching a game in SourceTV and output that on screen, if you were hosting some kind of big event.
  • Getting an accurate demo tick for events. I'm planning on writing a personal plugin that lets people bookmark points in a SourceTV demo so they can grab the demo off a web server later for rendering (as an alternative to the mess that is TF2's Replay system).
  • Providing some cleaner checks to move in-game spectators to SourceTV. (You could just use tv_port, though.)
  • The ability to kick specific clients off SourceTV (maybe you wanted STV reserved slots, or a second-level AFK kicker after they get moved from in-game spectate).


Now that I'm thinking about it, I wonder how complicated it'd be to get chat messages from SourceTV.
__________________
I do TF2, TF2 servers, and TF2 plugins.
I don't do DMs over Discord -- PM me on the forums regarding inquiries.
AlliedModders Releases / Github / TF2 Server / Donate (BTC / BCH / coffee)
nosoop is offline
Peace-Maker
SourceMod Plugin Approver
Join Date: Aug 2008
Location: Germany
Old 04-16-2016 , 08:42   Re: SourceTV Manager
Reply With Quote #13

Quote:
Originally Posted by nosoop View Post
Now that I'm thinking about it, I wonder how complicated it'd be to get chat messages from SourceTV.
I've that on my todo, but sourcetv chat is just broadcasted like normal events using the "hltv_chat" event and the "text" attribute is formatted like "Playername : message", so there's no quick way to get the client index. There are those "tv_chatgroup"s as well, which would be nice to control and monitor in a chat hook, so i'll get to it when i have the time.
__________________
Peace-Maker is offline
good_live
AlliedModders Donor
Join Date: Oct 2013
Old 04-21-2016 , 05:53   Re: SourceTV Manager
Reply With Quote #14

Quote:
Originally Posted by Peace-Maker View Post
I'll have a look at the crash later.
Any idea?
good_live is offline
Peace-Maker
SourceMod Plugin Approver
Join Date: Aug 2008
Location: Germany
Old 05-04-2016 , 13:44   Re: SourceTV Manager
Reply With Quote #15

Quote:
Originally Posted by good_live View Post
Any idea?
As you know this is now fixed in the latest version 1.0.1.

Changes are:
  • Fix OnSpectatorDisconnect forward on linux
  • Fix demo recording related features on CS:GO linux
  • Fix getting demo filename on CS:GO
  • Update windows CS:GO gamedata
__________________
Peace-Maker is offline
good_live
AlliedModders Donor
Join Date: Oct 2013
Old 06-27-2016 , 10:28   Re: SourceTV Manager
Reply With Quote #16

Hey,
since the latest updates it is crashing again, when i am trying to do smth demo related (in this case i tried to get the tick).

Sourcemod 1.7
OS: Debian 8
Crashlog: https://crash.limetech.org/fc36hjb5ip4m
good_live is offline
TinKode
Junior Member
Join Date: Jan 2013
Old 07-28-2016 , 05:44   Re: SourceTV Manager
Reply With Quote #17

Just wanted to know if is possible to use this in L4D2 as it is not fully implemented.
TinKode is offline
Peace-Maker
SourceMod Plugin Approver
Join Date: Aug 2008
Location: Germany
Old 07-28-2016 , 08:43   Re: SourceTV Manager
Reply With Quote #18

Quote:
Originally Posted by TinKode View Post
Just wanted to know if is possible to use this in L4D2 as it is not fully implemented.
If L4D2 supports SourceTV, it's certainly possible to add support for it in this extension. I just don't play L4D*, so I won't test much

try adding this to the gamedata file
Code:
"l4d2"
    {
        "Addresses"
        {
            "host_client"
            {
                "windows"
                {
                    "signature"    "host_client"
                    "read" "32"
                }
                "linux"
                {
                    "signature" "host_client"
                }
            }
            
            "CHLTVServer::m_DemoRecorder"
            {
                "windows"
                {
                    "signature"    "CHLTVServer::Shutdown"
                    "read"    "5"
                }
                "linux"
                {
                    "signature"    "CHLTVServer::Shutdown"
                    "read"    "12"
                }
            }
        }
        "Offsets"
        {
            "CNetChan::SendNetMsg"
            {
                "windows"    "41"
                "linux"    "42"
            }
            
            "CBaseClient::m_NetChannel"
            {
                "windows"    "180"
                "linux"    "184"
            }
            
            "CGameClient::ClientPrintf"
            {
                "linux"    "31"
            }
            
            "CBaseServer::BroadcastPrintf"
            {
                "windows"    "36"
                "linux"        "37"
            }
            
            "CHLTVServer::ConnectClient"
            {
                "windows"    "50"
                "linux"    "51"
            }
            
            "CHLTVServer::RejectConnection"
            {
                "windows"    "48"
                "linux"    "49"
            }
            
            "CHLTVServer::GetChallengeType"
            {
                "windows"    "54"
                "linux"    "55"
            }
            
            "CBaseClient::ActivatePlayer"
            {
                "windows"    "15"
                "linux"    "61"
            }
            
            "CBaseClient::Disconnect"
            {
                "linux"    "15"
            }
            
            "CHLTVServer::Shutdown"
            {
                "windows"    "42"
                "linux"    "43"
            }
            
            "CHLTVDirector::m_iPVSEntity"
            {
                "windows"    "16"
                "linux"    "16"
            }
            
            "CHLTVDirector::m_vPVSOrigin"
            {
                "windows"    "20"
                "linux"    "20"
            }
            
            "CHLTVDirector::m_nNextShotTick"
            {
                "windows"    "40"
                "linux"    "40"
            }
        }
        "Signatures"
        {
            "host_client"
            {
                "library"    "engine"
                "linux"    "@host_client"
                // ping(CCommand const&) "Client ping times:\n"
                "windows" "\x55\x8B\xEC\x51\x83\x3D\x2A\x2A\x2A\x2A\x01\x75\x2A"
            }
            
            "CHLTVServer::BroadcastEventLocal"
            {
                "library"    "engine"
                "linux"    "@_ZN11CHLTVServer19BroadcastEventLocalEP10IGameEventb"
                // "SourceTV broadcast local event: %s\n"
                "windows"    "\x55\x8B\xEC\x81\xEC\x58\x04\x00\x00\xA1\x2A\x2A\x2A\x2A\x33\xC5\x89\x45\xFC\x8B\x45\x10\x8B"
            }
            
            "CHLTVServer::Shutdown"
            {
                "library"    "engine"
                "linux"    "@_ZN11CHLTVServer8ShutdownEv"
                // "SourceTV stop."
                "windows"    "\x56\x8B\xF1\x8B\x86\x2A\x2A\x2A\x2A\x8B\x50\x2A\x8D\x8E\x2A\x2A\x2A\x2A\xFF\xD2\x8B\x86\x2A\x2A\x2A\x2A\x8B\x50"
            }
            
            // StartRecording and StopRecording are virtual, but get called directly in the linux binary..
            // Need to add a detour.
            "CHLTVDemoRecorder::StartRecording"
            {
                "library"    "engine"
                "linux"    "@_ZN17CHLTVDemoRecorder14StartRecordingEPKcb"
            }
            
            "CHLTVDemoRecorder::StopRecording"
            {
                "library"    "engine"
                "linux"    "@_ZN17CHLTVDemoRecorder13StopRecordingEv"
            }
        }
    }
Edit: Here's a windows binary too
Attached Files
File Type: dll sourcetvmanager.ext.2.l4d2.dll (777.0 KB, 335 views)
__________________

Last edited by Peace-Maker; 07-28-2016 at 09:34. Reason: Add l4d2 binary
Peace-Maker is offline
Peace-Maker
SourceMod Plugin Approver
Join Date: Aug 2008
Location: Germany
Old 07-28-2016 , 13:06   Re: SourceTV Manager
Reply With Quote #19

Version 1.0.2 is out. Grab it here!
This only includes some fixes for CS:GO:
  • Fix demo recording related features on CS:GO
  • Fix chat/hint message and forced director shot natives in CS:GO
  • Update windows CS:GO gamedata
__________________
Peace-Maker is offline
TinKode
Junior Member
Join Date: Jan 2013
Old 08-02-2016 , 23:18   Re: SourceTV Manager
Reply With Quote #20

Thanks for the extension. It seems is loading but some errors do appear:

Quote:
L 08/03/2016 - 05:12:06: [STVM] Failed to find host_client pointer. Server might crash when executing commands on SourceTV bot.
L 08/03/2016 - 05:12:06: [STVM] Failed to find CHLTVServer::Shutdown offset.
L 08/03/2016 - 05:12:06: [STVM] Failed to find CNetChan::SendNetMsg offset. Can't print to demo console.
L 08/03/2016 - 05:12:06: [STVM] Failed to get CHLTVServer::ConnectClient offset.
L 08/03/2016 - 05:12:06: [STVM] Failed to get CHLTVServer::RejectConnection offset.
L 08/03/2016 - 05:12:06: [STVM] Failed to get CHLTVServer::GetChallengeType offset.
L 08/03/2016 - 05:12:06: [STVM] Failed to get CBaseClient::ActivatePlayer offset.
L 08/03/2016 - 05:12:06: [STVM] Failed to get CBaseServer::BroadcastPrintf offset.
Basically, I would like to know what setup I must undertake to have this properly working. Thanks again.
TinKode is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 04:55.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode