Raised This Month: $7 Target: $400
 1% 

Read Me! Release announcements


Post New Thread Closed Thread   
 
Thread Tools Display Modes
Author Message
asherkin
SourceMod Developer
Join Date: Aug 2009
Location: OnGameFrame()
Old 06-16-2010 , 13:56   Release announcements
#1

Gives access to a select few SteamWorks functions for SourceMod plugins. For more info, look at the available functions in the include file.

Only TF2 is supported.

Download Latest Release

There is almost no documentation at the moment, but it should be pretty simple to work out how everything works by looking at the names of the natives and how the testing plugin does things (and reading the forum) .

There is a list of all the stats and achievement names here and the program used to generate it here. Don't ask me anything about what each of them is, I have no idea, do your own testing. The only hint I have is Pyro.accum.iPlayTime = total time playing as pyro and Pyro.max.iPlayTime = longest life as pyro.

Source Code | Build Status | Snapshots
__________________

Last edited by asherkin; 10-21-2017 at 09:53.
asherkin is offline
asherkin
SourceMod Developer
Join Date: Aug 2009
Location: OnGameFrame()
Old 06-17-2010 , 15:24   Re: SteamTools - SteamWorks functions for SourceMod.
#2

Updated to get proper auto-loading without crashes on Linux.
Yay for no more hackery.
Didrole from the OSW team helped me fix this up, so cheers to him.

Quote:
Originally Posted by Afronanny View Post
Would it, by any chance, be possible for you to make a interface for other extensions to use?
Of course it is This'll be a first for me though, so let's hope I can work it out.
__________________
asherkin is offline
asherkin
SourceMod Developer
Join Date: Aug 2009
Location: OnGameFrame()
Old 06-19-2010 , 17:16   Re: SteamTools - SteamWorks for SourceMod
#3

Another update with access to the steam stats for users.
It's a bit convoluted, but okay if you follow how the test plugin does everything.

There is a list of all the stats and achievement names here and the program used to generate it here. Don't ask me anything about what each of them is, I have no idea, do your own testing. The only hint I have is Pyro.accum.iPlayTime = Max time playing as pyro and Pyro.max.iPlayTime = longest life as pyro.

Also, Valve changed some stuff slightly, this will not work on Windows servers with Steam installed and running. VoiDeD, voogru and I are all trying to fix this. This update adds a warning when this happens and unloads, previous ones will just crash.

The other change is that Steam_RequestGroupStatus and Steam_GroupStatusResult now take and return respectively a client index rather than an auth string, this is because I now cache client indexes and their respective CSteamID internally, as the conversion from SteamID (in string format) to CSteamID (what is used by the SteamWorks interfaces) is very costly.

An interface for extensions will be in the next update, I need to decide on a clean way to do it first.

Edit: Spent a few mins working out the stat names.
These are the respective names from the community pages for the 'max' stats, the 'accum' ones are the same but track overall not per-life. Not all are available on all classes, just match it to the previous list.
Code:
iBuildingsDestroyed	Most destruction
iDamageDealt		Most damage
iDominations		Most dominations
iKillAssists		Most assists
iNumberOfKills		Most kills
iNumInvulnerable	Most ÜberCharges
iPlayTime		Longest life (in seconds)
iPointCaptures		Most captures
iPointDefenses		Most defenses
iPointsScored		Most points
iRevenge		Most revenges
iBuildingsBuilt		Most buildings built
iHealthPointsHealed 	Most health healed
iNumTeleports		Most teleports
iSentryKills		Most kills by sentry
iHeadshots		Most headshots			
iBackstabs		Most backstabs
iHealthPointsLeached	Most health leeched
Edit: Originally I had a list of the stats that stored achievement progress here, but I managed to get the API to spit out a list of all the display names for the achievements. The stats for the progress ones are just the name with _STAT added on the end.
Code:
TF_BURN_PLAYERSINMINIMUMTIME			Flamethrower
TF_DEMOMAN_ACHIEVE_PROGRESS1			Demoman Milestone 1
TF_DEMOMAN_ACHIEVE_PROGRESS2			Demoman Milestone 2
TF_DEMOMAN_ACHIEVE_PROGRESS3			Demoman Milestone 3
TF_DEMOMAN_AIR_BURST_KILLS			Something Stickied This Way Comes
TF_DEMOMAN_BOUNCE_AND_KILL			Caber Toss
TF_DEMOMAN_CHARGE_KILL				The Targe Charge
TF_DEMOMAN_CRIT_SWORD_KILL			Beat Me Up, Scotty
TF_DEMOMAN_DAMAGE_GRIND				Tartan Spartan
TF_DEMOMAN_DECAPITATE_CLOAKED_SPY		Shorn Connery
TF_DEMOMAN_DECAPITATE_EQUALIZER			Slammy Slayvis Woundya
TF_DEMOMAN_DECAPITATE_NEMESIS			There Can Be Only One
TF_DEMOMAN_DECAPITATE_PLAYERS			Brainspotting
TF_DEMOMAN_DECAPITATE_PLAYERS_FAST		Left 4 Heads
TF_DEMOMAN_DESTROY_BUILDINGS_GRIND		Cry Some Moor!
TF_DEMOMAN_DESTROY_BUILDINGS_WITH_MEDIC		Tam O'Shatter
TF_DEMOMAN_DESTROY_X_STICKYBOMBS		Robbed Royal
TF_DEMOMAN_DOMINATE_THREE_ENGINEERS		Three Times a Laddy
TF_DEMOMAN_DUO_DEMOMAN_KILLS			Well Plaid!
TF_DEMOMAN_ENVIRONMENTAL_KILL			He Who Celt It
TF_DEMOMAN_FREEZECAM_RUMP			Second Eye
TF_DEMOMAN_FREEZECAM_SMILE			Bloody Merry
TF_DEMOMAN_KILL3_WITH_DETONATION		Pipebagger
TF_DEMOMAN_KILL3_WITH_PIPE_SETUPS		Sticky Thump
TF_DEMOMAN_KILLXSAPPINGSPIES			Spynal Tap
TF_DEMOMAN_KILL_BUILDING_DIRECT_HIT		Blind Fire
TF_DEMOMAN_KILL_ENGI_SENTRY_DISPENSER		The Argyle Sap
TF_DEMOMAN_KILL_PLAYER_AFTER_TP			Loch Ness Bombster
TF_DEMOMAN_KILL_SOLDIER_GRIND			Kilt in Action
TF_DEMOMAN_KILL_TWO_DURING_STICKYJUMP		Double Mauled Scotch
TF_DEMOMAN_KILL_X_CAPPING_ONEDET		Scotch Guard
TF_DEMOMAN_KILL_X_DEFENDING			Bravehurt
TF_DEMOMAN_KILL_X_HEAVIES_FULLHP_ONEDET		The Stickening
TF_DEMOMAN_KILL_X_SCOUTS_PYROS			Glasg0wned
TF_DEMOMAN_KILL_X_WITH_DIRECTPIPE		Laddy Macdeth
TF_DEMOMAN_MELEE_KILL_WHILE_STICKYJUMPING	The Scottish Play
TF_DEMOMAN_STICKJUMP_DISTANCE			Highland Fling
TF_DEMOMAN_STICKYJUMP_CAP			The High Road
TF_DEMOMAN_TAUNT_KILL				Scotch Tap
TF_GET_CONSECUTIVEKILLS_NODEATHS		Hard to Kill
TF_GET_HEADSHOTS				Grey Matter
TF_GET_HEALED_BYENEMY				Master of Disguise
TF_GET_HEALPOINTS				Team Doctor
TF_GET_MULTIPLEKILLS				Hardcore
TF_GET_TURRETKILLS				Sentry Gunner
TF_HALLOWEEN_COLLECT_PUMPKINS			Candy Coroner
TF_HALLOWEEN_DISGUISED_SPY_KILL			Costume Contest
TF_HALLOWEEN_DOMINATE_FOR_HAT			Ghastly Gibus Grab
TF_HALLOWEEN_KILL_SCARED_PLAYER			Scared Stiff
TF_HALLOWEEN_PUMPKIN_KILL			Attack o' Lantern
TF_HEAVY_ACHIEVE_PROGRESS1			Heavy Milestone 1
TF_HEAVY_ACHIEVE_PROGRESS2			Heavy Milestone 2
TF_HEAVY_ACHIEVE_PROGRESS3			Heavy Milestone 3
TF_HEAVY_ASSIST_GRIND				Kollectivization
TF_HEAVY_ASSIST_HEAVY_GRIND			Soviet Union
TF_HEAVY_ASSIST_MEDIC_LARGE			Division of Labor
TF_HEAVY_BLOCK_CART				Stalin the Kart
TF_HEAVY_BLOCK_INVULN_HEAVY			Soviet Block
TF_HEAVY_CLEAR_STICKYBOMBS			0wn the Means of Production
TF_HEAVY_DAMAGE_TAKEN				Iron Kurtain
TF_HEAVY_DEFEND_CONTROL_POINT			Gorky Parked
TF_HEAVY_DEFEND_MEDIC				Party Loyalty
TF_HEAVY_EARN_MEDIC_DOMINATION			Red Oktoberfest
TF_HEAVY_EAT_SANDWICHES				Konspicuous Konsumption
TF_HEAVY_FIRE_LOTS				Heavy Industry
TF_HEAVY_FIRST_TO_CAP				Vanguard Party
TF_HEAVY_FREEZECAM_TAUNT			Photostroika
TF_HEAVY_HEAL_MEDIKITS				Redistribution of Health
TF_HEAVY_KILL_CAPPING_ENEMIES			Purge
TF_HEAVY_KILL_CRIT_PUNCH			Communist Mani-Fisto
TF_HEAVY_KILL_DOMINATED				Icing on the Cake
TF_HEAVY_KILL_FLAG_CARRIERS			Crime and Punishment
TF_HEAVY_KILL_HEAVIES_GLOVES			Borscht Belt
TF_HEAVY_KILL_MEDIC_PAIR			Class Struggle
TF_HEAVY_KILL_MIDAIR_MINIGUN			Marxman
TF_HEAVY_KILL_SCOUTS				Don't Touch Sandvich
TF_HEAVY_KILL_SHOTGUN				Rationing
TF_HEAVY_KILL_TAUNT				Show Trial
TF_HEAVY_KILL_UNDERWATER			Krazy Ivan
TF_HEAVY_KILL_WHILE_SPUNUP			Permanent Revolution
TF_HEAVY_PAYLOAD_CAP_GRIND			Pushkin the Kart
TF_HEAVY_RECEIVE_UBER_GRIND			Supreme Soviet
TF_HEAVY_REVENGE_ASSIST				Lenin A Hand
TF_HEAVY_STAND_NEAR_DISPENSER			Factory Worker
TF_HEAVY_SURVIVE_CROCKET			Crock Block
TF_HEAVY_TAKE_MULTI_DAMAGE			Rasputin
TF_HEAVY_TELEPORT_FAST_KILL			Five Second Plan
TF_HEAVY_UNCOVER_SPIES				Spyalectical Materialism
TF_KILL_NEMESIS					Nemesis
TF_MEDIC_ACHIEVE_PROGRESS1			Medic Milestone 1
TF_MEDIC_ACHIEVE_PROGRESS2			Medic Milestone 2
TF_MEDIC_ACHIEVE_PROGRESS3			Medic Milestone 3
TF_MEDIC_ASSIST_CAPTURER			Ubi concordia, ibi victoria
TF_MEDIC_ASSIST_DEMOMAN				Medical Breakthrough
TF_MEDIC_ASSIST_HEAVY				Blunt Trauma
TF_MEDIC_ASSIST_HEAVY_LONG			Big Pharma
TF_MEDIC_ASSIST_MEDIC				Consultation
TF_MEDIC_ASSIST_PYRO				Autoclave
TF_MEDIC_ASSIST_SCOUT				You'll Feel a Little Prick
TF_MEDIC_ASSIST_SOLDIER				Blast Assist
TF_MEDIC_ASSIST_VS_NEMESES			Doctor Assisted Homicide
TF_MEDIC_BONESAW_MEDICS				Peer Review
TF_MEDIC_BONESAW_NOMISSES			Sawbones
TF_MEDIC_BONESAW_SPY_CALLERS			FYI I am A Medic
TF_MEDIC_CHARGE_BLOCKER				Preventive Medicine
TF_MEDIC_CHARGE_FRIENDS				Family Practice
TF_MEDIC_CHARGE_JUGGLE				Second Opinion
TF_MEDIC_COUNTER_CHARGE				Double Blind Trial
TF_MEDIC_EXTINGUISH_TEAMMATES			Infernal Medicine
TF_MEDIC_FREEZECAM_RAGDOLL			Autopsy Report
TF_MEDIC_HEAL_ACHIEVER				Bedside Manner
TF_MEDIC_HEAL_CALLERS				Grand Rounds
TF_MEDIC_HEAL_ENGINEER				Midwife Crisis
TF_MEDIC_HEAL_GRIND				Chief of Staff
TF_MEDIC_HEAL_HUGE				Specialist
TF_MEDIC_HEAL_LARGE				Intern
TF_MEDIC_HEAL_UNDER_FIRE			Quadruple Bypass
TF_MEDIC_INVITE_JOIN_CHARGE			House Call
TF_MEDIC_KILL_HEALED_SPY			Hypocritical Oath
TF_MEDIC_KILL_WHILE_CHARGED			Placebo Effect
TF_MEDIC_RAPID_CHARGE				Trauma Queen
TF_MEDIC_SAVE_FALLING_TEAMMATE			Medical Intervention
TF_MEDIC_SAVE_TEAMMATE				Triage
TF_MEDIC_SETUP_CHARGE				Surgical Prep
TF_MEDIC_SIMUL_CHARGE				Group Health
TF_MEDIC_SWITCH_TO_MEDIC			Play Doctor
TF_MEDIC_SYRINGE_SCOUTS				Does It Hurt When I Do This?
TF_MEDIC_TOP_SCOREBOARD				First Do No Harm
TF_PLAY_GAME_EVERYCLASS				Head of the Class
TF_PLAY_GAME_EVERYMAP				World Traveler
TF_PLAY_GAME_FRIENDSONLY			With Friends Like these...
TF_PYRO_ACHIEVE_PROGRESS1			Pyro Milestone 1
TF_PYRO_ACHIEVE_PROGRESS2			Pyro Milestone 2
TF_PYRO_ACHIEVE_PROGRESS3			Pyro Milestone 3
TF_PYRO_BURN_MEDICPAIR				Next of Kindling
TF_PYRO_BURN_MEDICS_CHARGED			Burn Ward
TF_PYRO_BURN_RJ_SOLDIER				Pilot Light
TF_PYRO_BURN_SNIPERS_ZOOMED			Firewatch
TF_PYRO_BURN_SPIES_AS_YOU			I Fry
TF_PYRO_BURN_SPY_TAUNT				Got A Light?
TF_PYRO_CAMP_POSITION				Camp Fire
TF_PYRO_CAMP_TELEPORTERS			Trailblazer
TF_PYRO_DAMAGE_GRIND				Pyromancer
TF_PYRO_DEFEND_POINTS				Controlled Burn
TF_PYRO_DESTROY_BUILDINGS			Arsonist
TF_PYRO_DOMINATE_LEAVESVR			BarbeQueQ
TF_PYRO_DOUBLE_KO				Dead Heat
TF_PYRO_FORCE_WATERJUMP				Baptism by Fire
TF_PYRO_FREEZECAM_TAUNTS			Freezer Burn
TF_PYRO_IGNITE_FLAREGUN				Attention Getter
TF_PYRO_KILL_AXE_LARGE				Clearcutter
TF_PYRO_KILL_AXE_SMALL				Lumberjack
TF_PYRO_KILL_CARRIERS				Cooking the Books
TF_PYRO_KILL_FROM_BEHIND			Hot on Your Heels
TF_PYRO_KILL_GRIND				Firefighter
TF_PYRO_KILL_GRIND_LARGE			Fire Chief
TF_PYRO_KILL_HEAVIES				Makin' Bacon
TF_PYRO_KILL_MULTIWEAPONS			Combined Fire
TF_PYRO_KILL_POSTDEATH				Fire and Forget
TF_PYRO_KILL_SPIES				Firewall
TF_PYRO_KILL_TAUNT				OMGWTFBBQ
TF_PYRO_KILL_TAUNTERS				Dance Dance Immolation
TF_PYRO_KILL_TEAMWORK				Second Degree Burn
TF_PYRO_KILL_UBERCHARGE				Pyrotechnics
TF_PYRO_KILL_UNDERWATER				Plan B
TF_PYRO_REFLECT_CROCKET_KILL			Hotshot
TF_PYRO_REFLECT_PROJECTILES			Hot Potato
TF_PYRO_REVEAL_SPIES				Spontaneous Combustion
TF_PYRO_SIMULBURN_SCOUTS			Weenie Roast
TF_SCOUT_ACHIEVE_PROGRESS1			Scout Milestone 1
TF_SCOUT_ACHIEVE_PROGRESS2			Scout Milestone 2
TF_SCOUT_ACHIEVE_PROGRESS3			Scout Milestone 3
TF_SCOUT_ASSIST_MEDIC				Doctoring the Ball
TF_SCOUT_BLOCK_CAPS				Block the Plate
TF_SCOUT_CAPTURE_LAST_POINT			Side Retired
TF_SCOUT_CAPTURE_THREE_POINTS			Triple Play
TF_SCOUT_CAP_FLAG_WITHOUT_ATTACKING		No-Hitter
TF_SCOUT_CARRIER_KILL_CARRIER			Belittled Beleaguer
TF_SCOUT_DESTROY_BUILDINGS_BEING_BUILT		If You Build It
TF_SCOUT_DESTROY_SENTRY_WITH_PISTOL		Gun Down
TF_SCOUT_DESTROY_TELEPORTERS			Closer
TF_SCOUT_DODGE_DAMAGE				Artful Dodger
TF_SCOUT_DOUBLEJUMP_KILL			Pop Fly
TF_SCOUT_DOUBLE_JUMPS				Batter Up
TF_SCOUT_FAST_CAP				Stealing Home
TF_SCOUT_FIRST_BLOOD				First Blood
TF_SCOUT_FIRST_BLOOD_KILL			First Blood, Part 2
TF_SCOUT_FLAG_CAP_GRIND				Round-Tripper
TF_SCOUT_IRON_MAN_KILLS				The Cycle
TF_SCOUT_KILL_CHARGED_MEDICS			Batting the Doctor
TF_SCOUT_KILL_FROM_BEHIND			Caught Napping
TF_SCOUT_KILL_IN_DODGE_COOLDOWN			Retire the Runner
TF_SCOUT_KILL_STUNNED				Strike Zone
TF_SCOUT_KNOCK_INTO_TRAIN			Fall Classic
TF_SCOUT_LIFETIME_KILLS				A Year to Remember
TF_SCOUT_LONG_DISTANCE_RUNNER			Race for the Pennant
TF_SCOUT_MAX_STUNS				Moon Shot
TF_SCOUT_START_AND_FINISH_CAP			Set the Table
TF_SCOUT_STEAL_SANDWICH				Dodgers 1, Giants 0
TF_SCOUT_STUN_CAPPING_ENEMIES			Brushback
TF_SCOUT_STUN_INTO_TRAIN			Foul Territory
TF_SCOUT_STUN_SCOUT_WITH_THEIR_BALL		Beanball
TF_SCOUT_STUN_UBER_ENEMIES			The Big Hurt
TF_SCOUT_SURVIVE_DAMAGE				I'm Bat Man
TF_SCOUT_TAUNT_KILL				Out of the Park
TF_SCOUT_THREE_FLAGCAPS				Triple Steal
TF_SCOUT_WELL_EARLY_KILL			Quick Hook
TF_SNIPER_ACHIEVE_PROGRESS1			Sniper Milestone 1
TF_SNIPER_ACHIEVE_PROGRESS2			Sniper Milestone 2
TF_SNIPER_ACHIEVE_PROGRESS3			Sniper Milestone 3
TF_SNIPER_BOW_KILL_FLAGCARRIER			Robbin’ Hood
TF_SNIPER_BOW_KILL_MEDIC_PAIR			Beaux and Arrows
TF_SNIPER_BOW_KILL_WHILEDEAD			Dead Reckoning
TF_SNIPER_BOW_PINCUSHION			Pincushion
TF_SNIPER_BOW_PIN_HEAVY				William Tell Overkill
TF_SNIPER_CAPTURE_FLAG				Have a Plan
TF_SNIPER_DESTROY_SENTRYGUNS			De-sentry-lized
TF_SNIPER_DOMINATE_SNIPER			Australian Rules
TF_SNIPER_FREEZECAM_HAT				Be Polite
TF_SNIPER_FREEZECAM_WAVE			The Last Wave
TF_SNIPER_GET_BACKSTABBED			Consolation Prize
TF_SNIPER_HEADSHOT_DEMOMAN			Socket to Him
TF_SNIPER_HEADSHOT_POST_INVULN			Parting Shot
TF_SNIPER_HEADSHOT_SNIPERS			Self-destruct Sequence
TF_SNIPER_JARATE_ASSISTS			Number One Assistant
TF_SNIPER_JARATE_DOMINATED			Rode Hard, Put Away Wet
TF_SNIPER_JARATE_EXTINGUISH			Friendship is Golden
TF_SNIPER_JARATE_GROUP				Saturation Bombing
TF_SNIPER_JARATE_KILL_MELEE			Jarate Chop
TF_SNIPER_JARATE_MEDIC_PAIR			Rain on Their Parade
TF_SNIPER_JARATE_REVEAL_SPY			Jarring Transition
TF_SNIPER_KILL_AT_ROUNDSTART			Enemy at the Gate
TF_SNIPER_KILL_CHARGED_MEDIC			Überectomy
TF_SNIPER_KILL_FAILED_SPY			Shock Treatment
TF_SNIPER_KILL_GRIND				Kill Everyone You Meet
TF_SNIPER_KILL_INVIS_SPY			Shoot the Breeze
TF_SNIPER_KILL_MIDAIR_SCOUT			Dropped Dead
TF_SNIPER_KILL_OBJECTIVES			Not a Crazed Gunman, Dad
TF_SNIPER_KILL_RJER				Jumper Stumper
TF_SNIPER_KILL_SPIES_MELEE			Kook the Spook
TF_SNIPER_KILL_UNSCOPED				Trust Your Feelings
TF_SNIPER_KILL_WEAPONS				Triple Prey
TF_SNIPER_RIFLE_NO_MISSING			Be Efficient
TF_SNIPER_TAUNT_KILL				Shafted
TF_SNIPER_TOP_SCOREBOARD_GRIND			My Brilliant Career
TF_SOLDIER_ACHIEVE_PROGRESS1			Soldier Milestone 1
TF_SOLDIER_ACHIEVE_PROGRESS2			Soldier Milestone 2
TF_SOLDIER_ACHIEVE_PROGRESS3			Soldier Milestone 3
TF_SOLDIER_ASSIST_MEDIC_UBER			S*M*A*S*H
TF_SOLDIER_BOUNCE_THEN_SHOTGUN			For Whom the Shell Trolls
TF_SOLDIER_BUFF_FRIENDS				Banner of Brothers
TF_SOLDIER_BUFF_TEAMMATES			The Boostie Boys
TF_SOLDIER_CROUCH_ROCKET_JUMP			Where Eagles Dare
TF_SOLDIER_DEFEND_CAP_THIRTY_TIMES		Hamburger Hill
TF_SOLDIER_DEFEND_MEDIC				War Crime and Punishment
TF_SOLDIER_DESTROY_SENTRY_OUT_OF_RANGE		Guns of the Navar0wned
TF_SOLDIER_DESTROY_STICKIES			Bomb Squaddie
TF_SOLDIER_DUO_SOLDIER_KILLS			Brothers in Harms
TF_SOLDIER_EQUALIZER_STREAK			Ain't Got Time to Bleed
TF_SOLDIER_FREEZECAM_GIBS			Gore-a! Gore-a! Gore-a!
TF_SOLDIER_FREEZECAM_TAUNT			Worth a Thousand Words
TF_SOLDIER_GIB_GRIND				Frags of our Fathers
TF_SOLDIER_KILL_AIRBORNE_TARGET_WHILE_AIRBORNE	Wings of Glory
TF_SOLDIER_KILL_AIRBORNE_WITH_DIRECT_HIT	Death From Below
TF_SOLDIER_KILL_DEFENSELESS			Geneva Contravention
TF_SOLDIER_KILL_DEMOMAN_GRIND			Out, Damned Scot!
TF_SOLDIER_KILL_ENGY				Engineer to Eternity
TF_SOLDIER_KILL_FIVE_STUNNED			The Longest Daze
TF_SOLDIER_KILL_GROUP_WITH_CROCKET		Tri-Splatteral Damage
TF_SOLDIER_KILL_ON_FIRE				Semper Fry
TF_SOLDIER_KILL_PYRO				Backdraft Dodger
TF_SOLDIER_KILL_SNIPER_WHILE_DEAD		Mutually Assured Destruction
TF_SOLDIER_KILL_SPY_KILLER			War Crime Spybunal
TF_SOLDIER_KILL_TAUNT				Spray of Defeat
TF_SOLDIER_KILL_TWENTY_FROM_ABOVE		Screamin' Eagle
TF_SOLDIER_KILL_TWO_DURING_ROCKET_JUMP		Death from Above
TF_SOLDIER_KILL_WITH_EQUALIZER_WHILE_HURT	Near Death Experience
TF_SOLDIER_MVP					Medals of Honor
TF_SOLDIER_NEMESIS_SHOVEL_KILL			Trench Warfare
TF_SOLDIER_RIDE_THE_CART			Ride of the Valkartie
TF_SOLDIER_RJ_EQUALIZER_KILL			Duty Bound
TF_SOLDIER_SHOOT_MULT_CRITS			Crockets Are Such B.S.
TF_SOLDIER_THREE_DOMINATIONS			Dominator
TF_SPY_ACHIEVE_PROGRESS1			Spy Milestone 1
TF_SPY_ACHIEVE_PROGRESS2			Spy Milestone 2
TF_SPY_ACHIEVE_PROGRESS3			Spy Milestone 3
TF_SPY_AMBASSADOR_GRIND				Diplomacy
TF_SPY_AMBASSADOR_SCOUT_GRIND			Who's Your Daddy?
TF_SPY_AMBASSADOR_SNIPER_GRIND			Skullpluggery
TF_SPY_BACKSTAB_CAPPING_ENEMIES			Is It Safe?
TF_SPY_BACKSTAB_DISGUISED_SPY			Counter Espionage
TF_SPY_BACKSTAB_DISGUISE_TARGET			Identity Theft
TF_SPY_BACKSTAB_DOMINATING_ENEMY		High Value Target
TF_SPY_BACKSTAB_ENEMY_SWITCH_PYRO		Slash and Burn
TF_SPY_BACKSTAB_ENGY_SAP_BUILDING		The Man with the Broken Guns
TF_SPY_BACKSTAB_FRIENDS				Agent Provocateur
TF_SPY_BACKSTAB_GRIND				Spymaster
TF_SPY_BACKSTAB_MEDIC_CHARGED			Dr. Nooooo
TF_SPY_BACKSTAB_MEDIC_HEALING_YOU		FYI I am a Spy
TF_SPY_BACKSTAB_MEDIC_PAIR			May I Cut In?
TF_SPY_BACKSTAB_QUICK_KILLS			You Only Shiv Thrice
TF_SPY_BACKSTAB_SNIPERS				Triplecrossed
TF_SPY_BREAK_SHIELD_KILL_SNIPER			Die Another Way
TF_SPY_BUMP_CLOAKED_SPY				Spies Like Us
TF_SPY_CAMP_POSITION				Deep Undercover
TF_SPY_DOMINATE_SNIPER				The Melbourne Supremacy
TF_SPY_FAST_CAP					On Her Majesty’s Secret Surface
TF_SPY_FEIGN_DEATH_KILL				Sleeper Agent
TF_SPY_FREEZECAM_FLICK				For Your Eyes Only
TF_SPY_KILL_CP_DEFENDERS			Point Breaker
TF_SPY_KILL_SPY_WITH_KNIFE			A Cut Above
TF_SPY_KILL_WORKING_ENGY			Constructus Interruptus
TF_SPY_KNIFE_KILL_WHILE_JARATED			Wetwork
TF_SPY_MEDIC_HEALING_KILL_ENEMY			Insurance Fraud
TF_SPY_REVENGE_WITH_BACKSTAB			Come in From the Cold
TF_SPY_SAPPER_GRIND				Sap Auteur
TF_SPY_SAPPER_TEAMWORK				Joint Operation
TF_SPY_SAP_BUILDING_BACKSTAB_ENGY		Sapsucker
TF_SPY_SURVIVE_BURNING				Burn Notice
TF_SPY_TAUNT_KILL				The Man from P.U.N.C.T.U.R.E.
TF_WIN_2FORT_NOENEMYCAPS			Powerhouse Offense
TF_WIN_DUSTBOWL_NOENEMYCAPS			Impenetrable Defense
TF_WIN_GRAVELPIT_NOENEMYCAPS			Impossible Defense
TF_WIN_HYDRO_NOENEMYCAPS			Relentless Offense
TF_WIN_MULTIPLEGAMES				Dynasty
TF_WIN_WELL_MINIMUMTIME				Lightning Offense
__________________
asherkin is offline
asherkin
SourceMod Developer
Join Date: Aug 2009
Location: OnGameFrame()
Old 08-17-2010 , 14:29   Re: SteamTools - SteamWorks for SourceMod
#4

I've updated the version to 0.4.

This will fix the issue raised above and adds a set of new natives.
Code:
native Steam_SetRule(String:key[], String:value[]);
native Steam_ClearRules();

native bool:Steam_AddMasterServer(String:serverAddress[]);
native bool:Steam_RemoveMasterServer(String:serverAddress[]);
native Steam_GetNumMasterServers();
native Steam_GetMasterServerAddress(server, String:serverAddress[], maxlength);
The Windows build is tested but Linux hasn't been yet.
__________________
asherkin is offline
asherkin
SourceMod Developer
Join Date: Aug 2009
Location: OnGameFrame()
Old 11-19-2010 , 09:53   Re: SteamTools - SteamWorks for SourceMod
#5

Updated with 0.5, this adds a Steam_GetClientSubscription native.
With this native you can get the subscription id of the pack the client bought the game as part of.

As with most of SteamTools, this'll be pretty useless for most people .

Here are a few sub ids, I'll try and write a program similar to the stats lister to generate a list of them all. Copying them out by hand is annoying .

EDIT:
Thanks to the SteamKit team for providing the BlobLib project and to psychonic for a Java port of it, linked below is the full subscription listing from the CDR.
http://citrus.limetech.org/proofens/CDRApps.txt < Warning, this thing is 2MB.

The file is formated like:
Code:
469 = "The Orange Box"
	340 ("Half-Life 2: Lost Coast")
	341 ("LostCoast Content")
	211 ("Source SDK")
	215 ("Source SDK Base 2006")
	218 ("Source SDK Base - Orange Box")
	220 ("Half-Life 2")
	213 ("Episode 1 Shared")
	380 ("Half-Life 2: Episode One")
	381 ("Half-Life 2: Episode One")
	216 ("Source 2007 Binaries")
	315 ("Source 2007 Mac Binaries")
	317 ("Source 2007 Binaries 2")
	305 ("Source 2007 Shared Materials")
	306 ("Source 2007 Shared Models")
	307 ("Source 2007 Shared Sounds")
	400 ("Portal")
	401 ("Portal Content")
	402 ("Portal French")
	403 ("Portal German")
	404 ("Portal Russian")
	405 ("Portal English")
	406 ("Portal Spanish")
	308 ("Episodic 2007 Shared")
	309 ("Episode One 2007 Content")
	420 ("Half-Life 2: Episode Two")
	421 ("Episode Two Content")
	422 ("Episode Two Materials")
	423 ("Episode Two Maps")
	424 ("Half-Life 2: Episode Two French")
	425 ("Half-Life 2: Episode Two German")
	426 ("Half-Life 2: Episode Two Russian")
	428 ("Half-Life 2: Episode Two English")
	429 ("Half-Life 2: Episode Two Spanish")
	440 ("Team Fortress 2")
	441 ("Team Fortress 2 Content")
	442 ("Team Fortress 2 Materials")
	443 ("Team Fortress 2 Client Content")
= Subscription ID (Which is what the native returns)
= Subscription Name
= Application ID
= Application Name
__________________
asherkin is offline
asherkin
SourceMod Developer
Join Date: Aug 2009
Location: OnGameFrame()
Old 11-30-2010 , 07:54   Re: SteamTools - SteamWorks for SourceMod
#6

Thanks to all the tickets provided by Leonardo, AzuiSleet and I have managed to discover what most of them pertain to.

I have updated the OP with version 0.5.1 that should handle most of these correctly now, there may still be some errors from clients sending purposefully invalid tickets to try and exploit a SRCDS crash bug that was patched a long time ago.

SteamTools will still log it's ticket handling extensively, except all non-fatal messages will be in the normal SM log instead of the error log.

Here are the 4 ticket messages you may see:
Code:
Client connecting from <IP Address> isn't using Steam.
Client connecting from <IP Address> (<Steam ID>) is in offline mode.
Client connecting from <IP Address> (<Steam ID>) was denied by Steam for an unknown reason. (Maybe an expired or stolen ticket?).
Client connecting from <IP Address> (<Steam ID>) is in offline mode but their ticket hasn't expired yet.
The former 3 are all denials from Steam, the 4th is the same as the 2nd except that Steam said it was OK for them to play.
__________________
asherkin is offline
asherkin
SourceMod Developer
Join Date: Aug 2009
Location: OnGameFrame()
Old 12-12-2010 , 23:17   Re: SteamTools - SteamWorks for SourceMod
#7

Released 0.5.2

This adds a few loading-related features and fixes and some other stuff.
  • FullyLoaded and Steam connection state forwards are now fired to late-loaded plugins.
  • Steam connection state is now properly replicated to plugins at load.
  • Added inline documentation to about half the include.
  • New ticket parsing class, should fix quite a few issues introduced recently.
__________________
asherkin is offline
asherkin
SourceMod Developer
Join Date: Aug 2009
Location: OnGameFrame()
Old 01-15-2011 , 16:45   Re: SteamTools - SteamWorks for SourceMod
#8

Updated.
Rewritten large portions of code to fix any and all g_SteamClients-related issues.

I'll look at the Steam Dedicated Server issues another day, it's probably related to the library Valve fucked up that is causing the symbol errors on launch.
__________________
asherkin is offline
asherkin
SourceMod Developer
Join Date: Aug 2009
Location: OnGameFrame()
Old 01-16-2011 , 13:09   Re: SteamTools - SteamWorks for SourceMod
#9

Another minor update to fix some issues with the subscription-related functions, along with some possible issues on full servers.
__________________
asherkin is offline
asherkin
SourceMod Developer
Join Date: Aug 2009
Location: OnGameFrame()
Old 04-15-2011 , 03:22   Re: SteamTools - SteamWorks for SourceMod
#10

Update released for todays TF2 update.
Quite a few major changes, let me know if anything is broken.

Quote:
Originally Posted by MaaavsPugServer View Post
Im pretty sure this extension interferes with Kigens Anti-Cheat, or with rcon quit command one of the two. I just did a fresh reload on my servers to clean it up a little. I noticed before I cleaned my servers as soon as I installed KAC my server wouldnt restart anymore via "rcon quit". Well I was just installing all my plugins and my Gametech Warmod Plugin needs Steamtools to run properly. I didnt know that right away, and my rcon quit command was working with KAC installed. It wasnt untill I added Steamtools to the server is when I noticed it was doing it again. Let me know

Thanks for your time
I highly doubt it, this extension doesn't do anything with the game at all.
__________________
asherkin is offline
Closed Thread


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 00:33.


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