55 CSteamID lobbySteamId =
new CSteamID(lobbyId);
56 if (((CSteamID)(ref lobbySteamId)).IsValid())
61 Main.ServerSideCharacter =
false;
80 startInfo.Arguments = startInfo.Arguments +
" -steam -localsteamid " + SteamUser.GetSteamID().m_SteamID;
86 process.StartInfo.Arguments +=
" -lobby friends";
90 process.StartInfo.Arguments +=
" -lobby private";
94 process.StartInfo.Arguments +=
" -friendsoffriends";
121 SteamFriends.ClearRichPresence();
130 return Main.netMode != 0;
149 SteamNetworking.CloseP2PSessionWithUser(user);
180 string friendName = SteamFriends.GetFriendPersonaName(result.m_steamIDFriend);
186 Main.ServerSideCharacter =
false;
207 SteamNetworking.AllowP2PPacketRelay(
true);
210 P2PSessionState_t val =
default(P2PSessionState_t);
211 while (SteamNetworking.GetP2PSessionState(
_lobby.
Owner, ref val) && val.m_bConnectionActive != 1)
213 switch (val.m_eP2PSessionError)
233 SteamNetworking.CloseP2PSessionWithUser(
_lobby.
Owner);
242 Netplay.ServerPassword =
"";
244 Main.autoPass =
false;
262 byte[] array =
new byte[num];
263 array[0] = (byte)((uint)num & 0xFFu);
264 array[1] = (byte)((uint)(num >> 8) & 0xFFu);
270 SteamNetworking.SendP2PPacket(address, array, (uint)num, (EP2PSend)2, 1);
285 for (
int i = 0; i <
_authData.Length; i++)
294 SteamFriends.ClearRichPresence();
304 Close(result.m_steamIDRemote);
316 CSteamID steamIDRemote = result.m_steamIDRemote;
319 SteamNetworking.AcceptP2PSessionWithUser(steamIDRemote);
bool ContainsKey(TKey key)
ProcessStartInfo StartInfo
override void SetAsActive()
static string GetTextValue(string key)
static string GetInputText(string oldString, bool allowMultiLine=false)
static void OpenPlayerSelect(OnPlayerSelected method)
static void QueueMainThreadAction(Action action)
static void OnConnectedToSocialServer(ISocket client)
static Dictionary< string, string > LaunchParameters
void Join(CSteamID lobbyId, APIDispatchDelegate< LobbyEnter_t > callResult)
Callback< P2PSessionRequest_t > _p2pSessionRequest
override void CancelJoin()
override void OpenInviteInterface()
void OnLobbyEntered(LobbyEnter_t result, bool failure)
void OnP2PSessionRequest(P2PSessionRequest_t result)
override void Connect(RemoteAddress address)
override void Close(RemoteAddress address)
void ConnectToLobby(ulong lobbyId)
override bool StartListening(SocketConnectionAccepted callback)
void OnLobbyJoinRequest(GameLobbyJoinRequested_t result)
void Close(CSteamID user)
override void StopListening()
void OnSessionConnectFail(P2PSessionConnectFail_t result)
override bool CanInvite()
Callback< GameLobbyJoinRequested_t > _gameLobbyJoinRequested
override void LaunchLocalServer(Process process, ServerMode mode)
Callback< P2PSessionConnectFail_t > _p2pSessionConnectfail
void SendAuthTicket(CSteamID address)
override void Initialize()
override ulong GetLobbyId()
CSteamID RemoteAddressToSteamId(RemoteAddress address)
ConcurrentDictionary< CSteamID, ConnectionState > _connectionStateMap
void ClearUser(CSteamID id)
void ClearUser(CSteamID user)
static void WriteDebugString(string format, params object[] args)