deadlock

package module
v0.0.0-...-2951984 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 22, 2026 License: MIT Imports: 12 Imported by: 0

README

go-deadlock

Go Reference

Introduction

go-deadlock is a Deadlock client plugin for go-steam.

Deadlock is a Valve Source 2 game with a Game Coordinator (GC). This library implements the GC protocol for Deadlock, reusing the patterns from go-dota2.

The protobuf definitions come from the SteamDatabase/Protobufs repository, vendored as a git submodule (deadlock/ tree). Code generation uses the aperturerobotics/common WASI protoc toolchain (protobuf-go-lite output only).

Usage

cl := steam.NewClient(...)
dl := deadlock.New(cl, logrus.StandardLogger())
// connect, then:
dl.SetPlaying(true) // sets app 1422450 as played
dl.SayHello()       // request a GC session; wait for events.ClientWelcomed

Implementation Progress

  • GC session state management (hello / welcome / connection status)
  • Request tracking (MakeRequest with response matching)
  • SOCache shared-object cache
  • Generated API surface from EGCCitadelClientMessages (64 methods)
  • Generated GC-to-client events
  • Deadlock-specific SO cache type IDs (await live capture)
  • Party / lobby convenience helpers

Regenerating protobufs

make gen    # update submodule protos, regenerate protocol/, apigen, format

Documentation

Index

Constants

View Source
const AppID = 1422450

AppID is the ID for deadlock

Variables

View Source
var ErrNotReady = errors.New("the deadlock client is not ready to accept requests yet, or has just become unready")

ErrNotReady is returned when the deadlock client is not ready to accept requests yet, or has just become unready

Functions

This section is empty.

Types

type Deadlock

type Deadlock struct {
	// contains filtered or unexported fields
}

Deadlock handles the deadlock game handler.

func New

func New(client *steam.Client, le logrus.FieldLogger) *Deadlock

New builds a new Deadlock handler.

func (*Deadlock) CancelChallenge

func (d *Deadlock) CancelChallenge(
	ctx context.Context,
	challengeID uint64,
) (*protocol.CMsgClientToGCChallengeCancelResponse, error)

CancelChallenge cancels a challenge. Request ID: k_EMsgClientToGCChallengeCancel Response ID: k_EMsgClientToGCChallengeCancelResponse Request type: CMsgClientToGCChallengeCancel Response type: CMsgClientToGCChallengeCancelResponse

func (*Deadlock) ClaimChallenge

func (d *Deadlock) ClaimChallenge(
	ctx context.Context,
	challengeID uint64,
) (*protocol.CMsgClientToGCChallengeClaimResponse, error)

ClaimChallenge claims a challenge. Request ID: k_EMsgClientToGCChallengeClaim Response ID: k_EMsgClientToGCChallengeClaimResponse Request type: CMsgClientToGCChallengeClaim Response type: CMsgClientToGCChallengeClaimResponse

func (*Deadlock) Close

func (d *Deadlock) Close()

Close kills any ongoing calls.

func (*Deadlock) CreateParty

CreateParty creates a party. Request ID: k_EMsgClientToGCPartyCreate Response ID: k_EMsgClientToGCPartyCreateResponse Request type: CMsgClientToGCPartyCreate Response type: CMsgClientToGCPartyCreateResponse

func (*Deadlock) FindHeroBuilds

func (d *Deadlock) FindHeroBuilds(
	ctx context.Context,
	authorAccountID uint32,
	heroID uint32,
	language []int32,
	searchText string,
	heroBuildID uint32,
	tags []uint32,
) (*protocol.CMsgClientToGCFindHeroBuildsResponse, error)

FindHeroBuilds finds hero builds. Request ID: k_EMsgClientToGCFindHeroBuilds Response ID: k_EMsgClientToGCFindHeroBuildsResponse Request type: CMsgClientToGCFindHeroBuilds Response type: CMsgClientToGCFindHeroBuildsResponse

func (*Deadlock) GetAccountLeaderboards

func (d *Deadlock) GetAccountLeaderboards(
	ctx context.Context,
	accountID uint32,
) (*protocol.CMsgClientToGCGetAccountLeaderboardsResponse, error)

GetAccountLeaderboards gets account leaderboards. Request ID: k_EMsgClientToGCGetAccountLeaderboards Response ID: k_EMsgClientToGCGetAccountLeaderboardsResponse Request type: CMsgClientToGCGetAccountLeaderboards Response type: CMsgClientToGCGetAccountLeaderboardsResponse

func (*Deadlock) GetAccountMatchReports

func (d *Deadlock) GetAccountMatchReports(
	ctx context.Context,
	matchID uint64,
) (*protocol.CMsgClientToGCGetAccountMatchReportsResponse, error)

GetAccountMatchReports gets account match reports. Request ID: k_EMsgClientToGCGetAccountMatchReports Response ID: k_EMsgClientToGCGetAccountMatchReportsResponse Request type: CMsgClientToGCGetAccountMatchReports Response type: CMsgClientToGCGetAccountMatchReportsResponse

func (*Deadlock) GetAccountStats

func (d *Deadlock) GetAccountStats(
	ctx context.Context,
	accountID uint32,
	devAccessHint bool,
	friendAccessHint bool,
) (*protocol.CMsgClientToGCGetAccountStatsResponse, error)

GetAccountStats gets account stats. Request ID: k_EMsgClientToGCGetAccountStats Response ID: k_EMsgClientToGCGetAccountStatsResponse Request type: CMsgClientToGCGetAccountStats Response type: CMsgClientToGCGetAccountStatsResponse

func (*Deadlock) GetActiveMatches

GetActiveMatches gets active matches. Request ID: k_EMsgClientToGCGetActiveMatches Response ID: k_EMsgClientToGCGetActiveMatchesResponse Request type: CMsgClientToGCGetActiveMatches Response type: CMsgClientToGCGetActiveMatchesResponse

func (*Deadlock) GetBook

GetBook gets a book. Request ID: k_EMsgClientToGCGetBook Response ID: k_EMsgClientToGCGetBookResponse Request type: CMsgClientToGCGetBook Response type: CMsgClientToGCGetBookResponse

func (*Deadlock) GetCache

func (d *Deadlock) GetCache() *socache.SOCache

GetCache returns the SO Cache.

GetDiscordLink gets a discord link. Request ID: k_EMsgClientToGCGetDiscordLink Response ID: k_EMsgClientToGCGetDiscordLinkResponse Request type: CMsgClientToGCGetDiscordLink Response type: CMsgClientToGCGetDiscordLinkResponse

func (*Deadlock) GetFriendGameStatus

func (d *Deadlock) GetFriendGameStatus(
	ctx context.Context,
	includeInvited bool,
) (*protocol.CMsgClientToGCGetFriendGameStatusResponse, error)

GetFriendGameStatus gets friend game status. Request ID: k_EMsgClientToGCGetFriendGameStatus Response ID: k_EMsgClientToGCGetFriendGameStatusResponse Request type: CMsgClientToGCGetFriendGameStatus Response type: CMsgClientToGCGetFriendGameStatusResponse

func (*Deadlock) GetHeroChoice

GetHeroChoice gets a hero choice. Request ID: k_EMsgClientToGCGetHeroChoice Response ID: k_EMsgClientToGCGetHeroChoiceResponse Request type: CMsgClientToGCGetHeroChoice Response type: CMsgClientToGCGetHeroChoiceResponse

func (*Deadlock) GetHeroMMRRankings

func (d *Deadlock) GetHeroMMRRankings(
	ctx context.Context,
	targetAccountID uint32,
) (*protocol.CMsgClientToGCGetHeroMMRRankingsResponse, error)

GetHeroMMRRankings gets hero mmr rankings. Request ID: k_EMsgClientToGCGetHeroMMRRankings Response ID: k_EMsgClientToGCGetHeroMMRRankingsResponse Request type: CMsgClientToGCGetHeroMMRRankings Response type: CMsgClientToGCGetHeroMMRRankingsResponse

func (*Deadlock) GetHideoutSDRTicket

func (d *Deadlock) GetHideoutSDRTicket(
	ctx context.Context,
	lobbyID uint64,
) (*protocol.CMsgClientToGCGetHideoutSDRTicketResponse, error)

GetHideoutSDRTicket gets a hideout sdr ticket. Request ID: k_EMsgClientToGCGetHideoutSDRTicket Response ID: k_EMsgClientToGCGetHideoutSDRTicketResponse Request type: CMsgClientToGCGetHideoutSDRTicket Response type: CMsgClientToGCGetHideoutSDRTicketResponse

func (*Deadlock) GetLeaderboard

func (d *Deadlock) GetLeaderboard(
	ctx context.Context,
	leaderboardRegion protocol.ECitadelLeaderboardRegion,
	heroID uint32,
) (*protocol.CMsgClientToGCGetLeaderboardResponse, error)

GetLeaderboard gets a leaderboard. Request ID: k_EMsgClientToGCGetLeaderboard Response ID: k_EMsgClientToGCGetLeaderboardResponse Request type: CMsgClientToGCGetLeaderboard Response type: CMsgClientToGCGetLeaderboardResponse

func (*Deadlock) GetMatchHistory

func (d *Deadlock) GetMatchHistory(
	ctx context.Context,
	accountID uint32,
	continueCursor uint64,
	gameMode protocol.ECitadelGameMode,
	matchMode protocol.ECitadelMatchMode,
	rankedType protocol.ECitadelRankedType,
	rankInterval uint32,
) (*protocol.CMsgClientToGCGetMatchHistoryResponse, error)

GetMatchHistory gets a match history. Request ID: k_EMsgClientToGCGetMatchHistory Response ID: k_EMsgClientToGCGetMatchHistoryResponse Request type: CMsgClientToGCGetMatchHistory Response type: CMsgClientToGCGetMatchHistoryResponse

func (*Deadlock) GetMatchMetaData

func (d *Deadlock) GetMatchMetaData(
	ctx context.Context,
	matchID uint64,
	metadataSalt uint32,
	targetAccountID uint32,
) (*protocol.CMsgClientToGCGetMatchMetaDataResponse, error)

GetMatchMetaData gets a match meta data. Request ID: k_EMsgClientToGCGetMatchMetaData Response ID: k_EMsgClientToGCGetMatchMetaDataResponse Request type: CMsgClientToGCGetMatchMetaData Response type: CMsgClientToGCGetMatchMetaDataResponse

func (*Deadlock) GetProfileCard

func (d *Deadlock) GetProfileCard(
	accountID uint32,
	devAccessHint bool,
	friendAccessHint bool,
)

GetProfileCard gets a profile card. Request ID: k_EMsgClientToGCGetProfileCard Request type: CMsgClientToGCGetProfileCard

func (*Deadlock) GetRankData

GetRankData gets a rank data. Request ID: k_EMsgClientToGCGetRankData Response ID: k_EMsgGCToClientGetRankDataResponse Request type: CMsgClientToGCGetRankData Response type: CMsgGCToClientGetRankDataResponse

func (*Deadlock) GetSurveyQuestion

GetSurveyQuestion gets a survey question. Request ID: k_EMsgClientToGCGetSurveyQuestion Response ID: k_EMsgClientToGCGetSurveyQuestionResponse Request type: CMsgClientToGCGetSurveyQuestion Response type: CMsgClientToGCGetSurveyQuestionResponse

func (*Deadlock) GrantForumAccess

func (d *Deadlock) GrantForumAccess(
	ctx context.Context,
	email string,
) (*protocol.CMsgClientToGCGrantForumAccessResponse, error)

GrantForumAccess grants forum access. Request ID: k_EMsgClientToGCGrantForumAccess Response ID: k_EMsgClientToGCGrantForumAccessResponse Request type: CMsgClientToGCGrantForumAccess Response type: CMsgClientToGCGrantForumAccessResponse

func (*Deadlock) HandleGCPacket

func (d *Deadlock) HandleGCPacket(packet *gamecoordinator.GCPacket)

HandleGCPacket handles an incoming game coordinator packet.

func (*Deadlock) InviteLobbyMember

func (d *Deadlock) InviteLobbyMember(playerID steamid.SteamId)

InviteLobbyMember attempts to invite a player to the current lobby.

func (*Deadlock) JoinParty

func (d *Deadlock) JoinParty(
	ctx context.Context,
	partyID uint64,
	isRejoin bool,
	partyMmInfo protocol.CMsgPartyMMInfo,
) (*protocol.CMsgClientToGCPartyJoinResponse, error)

JoinParty joins a party. Request ID: k_EMsgClientToGCPartyJoin Response ID: k_EMsgClientToGCPartyJoinResponse Request type: CMsgClientToGCPartyJoin Response type: CMsgClientToGCPartyJoinResponse

func (*Deadlock) JoinPartyViaCode

func (d *Deadlock) JoinPartyViaCode(
	ctx context.Context,
	joinCode uint64,
	partyMmInfo protocol.CMsgPartyMMInfo,
) (*protocol.CMsgClientToGCPartyJoinViaCodeResponse, error)

JoinPartyViaCode joins a party via code. Request ID: k_EMsgClientToGCPartyJoinViaCode Response ID: k_EMsgClientToGCPartyJoinViaCodeResponse Request type: CMsgClientToGCPartyJoinViaCode Response type: CMsgClientToGCPartyJoinViaCodeResponse

func (*Deadlock) LeaveLobby

func (d *Deadlock) LeaveLobby(
	ctx context.Context,
	lobbyID uint64,
) (*protocol.CMsgClientToGCLeaveLobbyResponse, error)

LeaveLobby leaves a lobby. Request ID: k_EMsgClientToGCLeaveLobby Response ID: k_EMsgClientToGCLeaveLobbyResponse Request type: CMsgClientToGCLeaveLobby Response type: CMsgClientToGCLeaveLobbyResponse

func (*Deadlock) LeaveParty

func (d *Deadlock) LeaveParty(
	ctx context.Context,
	partyID uint64,
) (*protocol.CMsgClientToGCPartyLeaveResponse, error)

LeaveParty leaves a party. Request ID: k_EMsgClientToGCPartyLeave Response ID: k_EMsgClientToGCPartyLeaveResponse Request type: CMsgClientToGCPartyLeave Response type: CMsgClientToGCPartyLeaveResponse

func (*Deadlock) MakeRequest

func (d *Deadlock) MakeRequest(
	ctx context.Context,
	reqMsgID uint32,
	request proto.Message,
	respMsgID uint32,
	response proto.Message,
	matchesRequest ...func(proto.Message) bool,
) (mrErr error)

MakeRequest starts and tracks a request given a context.

func (*Deadlock) RecordClientEvents

RecordClientEvents records client events. Request ID: k_EMsgClientToGCRecordClientEvents Response ID: k_EMsgClientToGCRecordClientEventsResponse Request type: CMsgClientToGCRecordClientEvents Response type: CMsgClientToGCRecordClientEventsResponse

func (*Deadlock) ReportPlayerFromMatch

func (d *Deadlock) ReportPlayerFromMatch(
	ctx context.Context,
	matchID uint64,
	targetAccountID uint32,
	reportType protocol.CMsgClientToGCReportPlayerFromMatch_EReportType,
	reportText string,
) (*protocol.CMsgClientToGCReportPlayerFromMatchResponse, error)

ReportPlayerFromMatch reports a player from match. Request ID: k_EMsgClientToGCReportPlayerFromMatch Response ID: k_EMsgClientToGCReportPlayerFromMatchResponse Request type: CMsgClientToGCReportPlayerFromMatch Response type: CMsgClientToGCReportPlayerFromMatchResponse

func (*Deadlock) RequestCacheSubscriptionRefresh

func (d *Deadlock) RequestCacheSubscriptionRefresh(ownerSoid *gcsdkm.CMsgSOIDOwner)

RequestCacheSubscriptionRefresh requests a subscription refresh for a specific cache ID.

func (*Deadlock) RequestDevCheatReports

func (d *Deadlock) RequestDevCheatReports(
	ctx context.Context,
) (*protocol.CMsgClientToGCRequestCheatReportsResponse, error)

RequestDevCheatReports requests dev cheat reports. Request ID: k_EMsgClientToGCDevRequestCheatReports Response ID: k_EMsgClientToGCDevRequestCheatReportsResponse Request type: CMsgClientToGCRequestCheatReports Response type: CMsgClientToGCRequestCheatReportsResponse

func (*Deadlock) RequestHeroReleaseVoteTally

func (d *Deadlock) RequestHeroReleaseVoteTally(
	voteRounds []uint32,
)

RequestHeroReleaseVoteTally requests a hero release vote tally. Request ID: k_EMsgClientToGCRequestHeroReleaseVoteTally Request type: CMsgClientToGCRequestHeroReleaseVoteTally

func (*Deadlock) RequestModerator

func (d *Deadlock) RequestModerator(
	ctx context.Context,
	accountID uint32,
) (*protocol.CMsgClientToGCModeratorRequestResponse, error)

RequestModerator requests a moderator. Request ID: k_EMsgClientToGCModeratorRequest Response ID: k_EMsgClientToGCModeratorRequestResponse Request type: CMsgClientToGCModeratorRequest Response type: CMsgClientToGCModeratorRequestResponse

func (*Deadlock) RespondLobbyInvite

func (d *Deadlock) RespondLobbyInvite(lobbyId uint64, accept bool)

RespondLobbyInvite responds to a lobby invite.

func (*Deadlock) RespondPartyInvite

func (d *Deadlock) RespondPartyInvite(partyId uint64, accept bool)

RespondPartyInvite attempts to respond to a party invite.

func (*Deadlock) SayHello

func (d *Deadlock) SayHello(haveCacheVersions ...*gcsdkm.CMsgSOCacheHaveVersion)

SayHello says hello to the deadlock server, in an attempt to get a session.

func (*Deadlock) SendBookUnlock

func (d *Deadlock) SendBookUnlock(
	ctx context.Context,
	bookID uint32,
	unlockID uint32,
	expectedCost uint32,
) (*protocol.CMsgClientToGCBookUnlockResponse, error)

SendBookUnlock sends a book unlock. Request ID: k_EMsgClientToGCBookUnlock Response ID: k_EMsgClientToGCBookUnlockResponse Request type: CMsgClientToGCBookUnlock Response type: CMsgClientToGCBookUnlockResponse

func (*Deadlock) SendChallengeActivate

func (d *Deadlock) SendChallengeActivate(
	ctx context.Context,
	challengeID uint64,
) (*protocol.CMsgClientToGCChallengeActivateResponse, error)

SendChallengeActivate sends a challenge activate. Request ID: k_EMsgClientToGCChallengeActivate Response ID: k_EMsgClientToGCChallengeActivateResponse Request type: CMsgClientToGCChallengeActivate Response type: CMsgClientToGCChallengeActivateResponse

func (*Deadlock) SendCommendPlayerFromMatch

func (d *Deadlock) SendCommendPlayerFromMatch(
	ctx context.Context,
	matchID uint64,
	targetAccountID uint32,
	commendType protocol.ECommendType,
	fakeCommendHeroID uint32,
) (*protocol.CMsgClientToGCCommendPlayerFromMatchResponse, error)

SendCommendPlayerFromMatch sends a commend player from match. Request ID: k_EMsgClientToGCCommendPlayerFromMatch Response ID: k_EMsgClientToGCCommendPlayerFromMatchResponse Request type: CMsgClientToGCCommendPlayerFromMatch Response type: CMsgClientToGCCommendPlayerFromMatchResponse

func (*Deadlock) SendDeleteHeroBuild

func (d *Deadlock) SendDeleteHeroBuild(
	ctx context.Context,
	authorAccountID uint32,
	heroBuildID uint32,
) (*protocol.CMsgClientToGCDeleteHeroBuildResponse, error)

SendDeleteHeroBuild sends a delete hero build. Request ID: k_EMsgClientToGCDeleteHeroBuild Response ID: k_EMsgClientToGCDeleteHeroBuildResponse Request type: CMsgClientToGCDeleteHeroBuild Response type: CMsgClientToGCDeleteHeroBuildResponse

func (*Deadlock) SendDevAction

func (d *Deadlock) SendDevAction(
	ctx context.Context,
	action protocol.CMsgClientToGCDevAction_EAction,
	accountID uint32,
	uintValue uint32,
	intValue int32,
	boolValue bool,
	strValue string,
	matchID uint64,
) (*protocol.CMsgClientToGCDevActionResponse, error)

SendDevAction sends a dev action. Request ID: k_EMsgClientToGCDevAction Response ID: k_EMsgClientToGCDevActionResponse Request type: CMsgClientToGCDevAction Response type: CMsgClientToGCDevActionResponse

func (*Deadlock) SendIsInMatchmaking

func (d *Deadlock) SendIsInMatchmaking(
	ctx context.Context,
) (*protocol.CMsgClientToGCIsInMatchmakingResponse, error)

SendIsInMatchmaking sends a is in matchmaking. Request ID: k_EMsgClientToGCIsInMatchmaking Response ID: k_EMsgClientToGCIsInMatchmakingResponse Request type: CMsgClientToGCIsInMatchmaking Response type: CMsgClientToGCIsInMatchmakingResponse

func (*Deadlock) SendModifyDevAnnouncements

func (d *Deadlock) SendModifyDevAnnouncements(
	ctx context.Context,
	operation protocol.CMsgClientToGCModifyDevAnnouncements_EOperation,
	targetID uint32,
	priority uint32,
	title string,
	message string,
	uRL string,
	patchVersion string,
) (*protocol.CMsgClientToGCModifyDevAnnouncementsResponse, error)

SendModifyDevAnnouncements sends modify dev announcements. Request ID: k_EMsgClientToGCModifyDevAnnouncements Response ID: k_EMsgClientToGCModifyDevAnnouncementsResponse Request type: CMsgClientToGCModifyDevAnnouncements Response type: CMsgClientToGCModifyDevAnnouncementsResponse

func (*Deadlock) SendPartyAction

func (d *Deadlock) SendPartyAction(
	ctx context.Context,
	partyID uint64,
	targetAccountID uint32,
	actionID protocol.CMsgClientToGCPartyAction_EAction,
	uintValue uint64,
	boolValue bool,
	strValue string,
) (*protocol.CMsgClientToGCPartyActionResponse, error)

SendPartyAction sends a party action. Request ID: k_EMsgClientToGCPartyAction Response ID: k_EMsgClientToGCPartyActionResponse Request type: CMsgClientToGCPartyAction Response type: CMsgClientToGCPartyActionResponse

func (*Deadlock) SendPartyChatMsg

func (d *Deadlock) SendPartyChatMsg(
	ctx context.Context,
	partyID uint64,
	chatMsg string,
) (*protocol.CMsgClientToGCPartySendChatMsgResponse, error)

SendPartyChatMsg sends a party chat msg. Request ID: k_EMsgClientToGCPartySendChatMsg Response ID: k_EMsgClientToGCPartySendChatMsgResponse Request type: CMsgClientToGCPartySendChatMsg Response type: CMsgClientToGCPartySendChatMsgResponse

func (*Deadlock) SendPartyInviteUser

func (d *Deadlock) SendPartyInviteUser(
	ctx context.Context,
	partyID uint64,
	inviteAccountID uint32,
) (*protocol.CMsgClientToGCPartyInviteUserResponse, error)

SendPartyInviteUser sends a party invite user. Request ID: k_EMsgClientToGCPartyInviteUser Response ID: k_EMsgClientToGCPartyInviteUserResponse Request type: CMsgClientToGCPartyInviteUser Response type: CMsgClientToGCPartyInviteUserResponse

func (*Deadlock) SendReplacementSDRTicket

func (d *Deadlock) SendReplacementSDRTicket(
	ctx context.Context,
	lobbyID uint64,
) (*protocol.CMsgClientToGCReplacementSDRTicketResponse, error)

SendReplacementSDRTicket sends a replacement sdr ticket. Request ID: k_EMsgClientToGCReplacementSDRTicket Response ID: k_EMsgClientToGCReplacementSDRTicketResponse Request type: CMsgClientToGCReplacementSDRTicket Response type: CMsgClientToGCReplacementSDRTicketResponse

func (*Deadlock) SendUnlockHero

func (d *Deadlock) SendUnlockHero(
	ctx context.Context,
	heroIDs []uint32,
	heroChoiceID uint32,
) (*protocol.CMsgClientToGCUnlockHeroResponse, error)

SendUnlockHero sends a unlock hero. Request ID: k_EMsgClientToGCUnlockHero Response ID: k_EMsgClientToGCUnlockHeroResponse Request type: CMsgClientToGCUnlockHero Response type: CMsgClientToGCUnlockHeroResponse

func (*Deadlock) SendUpdateAccountSync

func (d *Deadlock) SendUpdateAccountSync(
	ctx context.Context,
	ids []uint32,
	values []uint32,
) (*protocol.CMsgClientToGCUpdateAccountSyncResponse, error)

SendUpdateAccountSync sends a update account sync. Request ID: k_EMsgClientToGCUpdateAccountSync Response ID: k_EMsgClientToGCUpdateAccountSyncResponse Request type: CMsgClientToGCUpdateAccountSync Response type: CMsgClientToGCUpdateAccountSyncResponse

func (*Deadlock) SendUpdateHeroBuild

func (d *Deadlock) SendUpdateHeroBuild(
	ctx context.Context,
	heroBuild protocol.CMsgHeroBuild,
) (*protocol.CMsgClientToGCUpdateHeroBuildResponse, error)

SendUpdateHeroBuild sends a update hero build. Request ID: k_EMsgClientToGCUpdateHeroBuild Response ID: k_EMsgClientToGCUpdateHeroBuildResponse Request type: CMsgClientToGCUpdateHeroBuild Response type: CMsgClientToGCUpdateHeroBuildResponse

func (*Deadlock) SendUpdateHeroBuildPreference

func (d *Deadlock) SendUpdateHeroBuildPreference(
	ctx context.Context,
	heroBuildID uint32,
	preference protocol.CMsgHeroBuildPreference,
) (*protocol.CMsgClientToGCUpdateHeroBuildPreferenceResponse, error)

SendUpdateHeroBuildPreference sends a update hero build preference. Request ID: k_EMsgClientToGCUpdateHeroBuildPreference Response ID: k_EMsgClientToGCUpdateHeroBuildPreferenceResponse Request type: CMsgClientToGCUpdateHeroBuildPreference Response type: CMsgClientToGCUpdateHeroBuildPreferenceResponse

func (*Deadlock) SendUpdateRoster

SendUpdateRoster sends a update roster. Request ID: k_EMsgClientToGCUpdateRoster Response ID: k_EMsgClientToGCUpdateRosterResponse Request type: CMsgClientToGCUpdateRoster Response type: CMsgClientToGCUpdateRosterResponse

func (*Deadlock) SendUpdateSpectatorStatus

func (d *Deadlock) SendUpdateSpectatorStatus(
	spectatingLobbyID uint64,
	stoppedSpectating bool,
)

SendUpdateSpectatorStatus sends update spectator status. Request ID: k_EMsgClientToGCUpdateSpectatorStatus Request type: CMsgClientToGCUpdateSpectatorStatus

func (*Deadlock) SetAccountPrivacySetting

SetAccountPrivacySetting sets a account privacy setting. Request ID: k_EMsgClientToGCSetAccountPrivacySetting Response ID: k_EMsgClientToGCSetAccountPrivacySettingResponse Request type: CMsgClientToGCSetAccountPrivacySetting Response type: CMsgClientToGCSetAccountPrivacySettingResponse

func (*Deadlock) SetChallengeGenerate

SetChallengeGenerate sets a challenge generate. Request ID: k_EMsgClientToGCGenerateChallengeSet Response ID: k_EMsgClientToGCGenerateChallengeSetResponse Request type: CMsgClientToGCGenerateChallengeSet Response type: CMsgClientToGCGenerateChallengeSetResponse

func (*Deadlock) SetDevMMBias

func (d *Deadlock) SetDevMMBias(
	accountID uint32,
	value uint32,
)

SetDevMMBias sets dev mm bias. Request ID: k_EMsgClientToGCDevSetMMBias Request type: CMsgClientToGCDevSetMMBias

func (*Deadlock) SetNewPlayerProgress

SetNewPlayerProgress sets new player progress. Request ID: k_EMsgClientToGCSetNewPlayerProgress Response ID: k_EMsgClientToGCSetNewPlayerProgressResponse Request type: CMsgClientToGCSetNewPlayerProgress Response type: CMsgClientToGCSetNewPlayerProgressResponse

func (*Deadlock) SetPartyMode

func (d *Deadlock) SetPartyMode(
	ctx context.Context,
	partyID uint64,
	matchMode protocol.ECitadelMatchMode,
	gameMode protocol.ECitadelGameMode,
	botDifficulty protocol.ECitadelBotDifficulty,
	devServerCommand string,
	regionMode protocol.ECitadelRegionMode,
) (*protocol.CMsgClientToGCPartySetModeResponse, error)

SetPartyMode sets a party mode. Request ID: k_EMsgClientToGCPartySetMode Response ID: k_EMsgClientToGCPartySetModeResponse Request type: CMsgClientToGCPartySetMode Response type: CMsgClientToGCPartySetModeResponse

func (*Deadlock) SetPartyReadyState

func (d *Deadlock) SetPartyReadyState(
	ctx context.Context,
	partyID uint64,
	readyState bool,
	heroRoster protocol.CMsgHeroSelectionMatchInfo,
) (*protocol.CMsgClientToGCPartySetReadyStateResponse, error)

SetPartyReadyState sets a party ready state. Request ID: k_EMsgClientToGCPartySetReadyState Response ID: k_EMsgClientToGCPartySetReadyStateResponse Request type: CMsgClientToGCPartySetReadyState Response type: CMsgClientToGCPartySetReadyStateResponse

func (*Deadlock) SetPlaying

func (d *Deadlock) SetPlaying(playing bool)

SetPlaying informs Steam we are playing / not playing Deadlock.

func (*Deadlock) SetServerConVar

func (d *Deadlock) SetServerConVar(
	ctx context.Context,
	convarName string,
	convarValue string,
	lobbyID uint64,
) (*protocol.CMsgClientToGCSetServerConVarResponse, error)

SetServerConVar sets a server con var. Request ID: k_EMsgClientToGCSetServerConVar Response ID: k_EMsgClientToGCSetServerConVarResponse Request type: CMsgClientToGCSetServerConVar Response type: CMsgClientToGCSetServerConVarResponse

func (*Deadlock) SpectateLobby

func (d *Deadlock) SpectateLobby(
	ctx context.Context,
	lobbyID uint64,
	clientPlatform protocol.EGCPlatform,
	matchID uint64,
) (*protocol.CMsgClientToGCSpectateLobbyResponse, error)

SpectateLobby spectates a lobby. Request ID: k_EMsgClientToGCSpectateLobby Response ID: k_EMsgClientToGCSpectateLobbyResponse Request type: CMsgClientToGCSpectateLobby Response type: CMsgClientToGCSpectateLobbyResponse

func (*Deadlock) SpectateUser

func (d *Deadlock) SpectateUser(
	ctx context.Context,
	spectateAccountID uint32,
	clientPlatform protocol.EGCPlatform,
) (*protocol.CMsgClientToGCSpectateUserResponse, error)

SpectateUser spectates a user. Request ID: k_EMsgClientToGCSpectateUser Response ID: k_EMsgClientToGCSpectateUserResponse Request type: CMsgClientToGCSpectateUser Response type: CMsgClientToGCSpectateUserResponse

func (*Deadlock) StartMatchmaking

StartMatchmaking starts a matchmaking. Request ID: k_EMsgClientToGCStartMatchmaking Response ID: k_EMsgClientToGCStartMatchmakingResponse Request type: CMsgClientToGCStartMatchmaking Response type: CMsgClientToGCStartMatchmakingResponse

func (*Deadlock) StartPartyMatch

func (d *Deadlock) StartPartyMatch(
	ctx context.Context,
	partyID uint64,
) (*protocol.CMsgClientToGCPartyStartMatchResponse, error)

StartPartyMatch starts a party match. Request ID: k_EMsgClientToGCPartyStartMatch Response ID: k_EMsgClientToGCPartyStartMatchResponse Request type: CMsgClientToGCPartyStartMatch Response type: CMsgClientToGCPartyStartMatchResponse

func (*Deadlock) StartRankedInterval

func (d *Deadlock) StartRankedInterval(
	ctx context.Context,
	rankType protocol.ECitadelRankedType,
	interval uint32,
) (*protocol.CMsgClientToGCStartRankedIntervalResponse, error)

StartRankedInterval starts a ranked interval. Request ID: k_EMsgClientToGCStartRankedInterval Response ID: k_EMsgClientToGCStartRankedIntervalResponse Request type: CMsgClientToGCStartRankedInterval Response type: CMsgClientToGCStartRankedIntervalResponse

func (*Deadlock) StopMatchmaking

StopMatchmaking stops a matchmaking. Request ID: k_EMsgClientToGCStopMatchmaking Response ID: k_EMsgClientToGCStopMatchmakingResponse Request type: CMsgClientToGCStopMatchmaking Response type: CMsgClientToGCStopMatchmakingResponse

func (*Deadlock) SubmitHeroReleaseVote

func (d *Deadlock) SubmitHeroReleaseVote(
	voteRound uint32,
	voteOption uint32,
)

SubmitHeroReleaseVote submits a hero release vote. Request ID: k_EMsgClientToGCSubmitHeroReleaseVote Request type: CMsgClientToGCSubmitHeroReleaseVote

func (*Deadlock) SubmitPlaytestUser

func (d *Deadlock) SubmitPlaytestUser(
	ctx context.Context,
	location string,
	targetAccountID uint32,
) (*protocol.CMsgClientToGCSubmitPlaytestUserResponse, error)

SubmitPlaytestUser submits a playtest user. Request ID: k_EMsgClientToGCSubmitPlaytestUser Response ID: k_EMsgClientToGCSubmitPlaytestUserResponse Request type: CMsgClientToGCSubmitPlaytestUser Response type: CMsgClientToGCSubmitPlaytestUserResponse

func (*Deadlock) SubmitSurvey

func (d *Deadlock) SubmitSurvey(
	ctx context.Context,
	questionID uint32,
	isSkip bool,
	responseValue uint32,
	devForceNewQuestionType protocol.CMsgSurveyQuestion_EQuestionType,
) (*protocol.CMsgClientToGCSubmitSurveyResponse, error)

SubmitSurvey submits a survey. Request ID: k_EMsgClientToGCSubmitSurvey Response ID: k_EMsgClientToGCSubmitSurveyResponse Request type: CMsgClientToGCSubmitSurvey Response type: CMsgClientToGCSubmitSurveyResponse

Directories

Path Synopsis
cmd
generate command
Command generate updates Deadlock protobuf sources, regenerates Go protobufs, and refreshes the generated API wrappers.
Command generate updates Deadlock protobuf sources, regenerates Go protobufs, and refreshes the generated API wrappers.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL