// Token: 0x06002C00 RID: 11264 RVA: 0x0012E554 File Offset: 0x0012C754 public void Msg_Pertinence(NetHost netHost, string name, string msg) { if (netHost == NetGame.instance.local) { NetChat.Print(name); return; } NetStream netStream = NetGame.BeginMessage(NetMsgId.Chat); try { netStream.WriteNetId(netHost.hostId); netStream.Write(name); netStream.Write(msg); if (NetGame.isServer) { NetGame.instance.SendReliable(netHost, netStream); } } finally { if (netStream != null) { netStream = netStream.Release(); } } }
private void NetworkConnectAsHost(string aIP) { NetHost host = new NetHost(); host.StartListen(); NetPoster.Instance.Connection = host; }
public ReceivedBroadcastData(NetHost host, string senderAddress, int senderPort, int broadcastMessagePort) { this.host = host; this.senderAddress = senderAddress; this.senderPort = senderPort; this.broadcastMessagePort = broadcastMessagePort; }
public void RespawnAllPlayers(NetHost host) { Checkpoint checkpoint = currentLevel.GetCheckpoint(currentCheckpointNumber); for (int i = 0; i < host.players.Count; i++) { float d = (!checkpoint.tightSpawn) ? 2f : 0.5f; Respawn(host.players[i].human, Vector3.left * (i % 3) * d + Vector3.back * (i / 3) * d); } }
private void IOnPlayerDisconnected(NetHost netHost) { /*if (App.state == AppSate.Startup) * { * return; * }*/ List <NetPlayer> netPlayers = netHost.players.ToList(); NetPlayer netPlayer = netPlayers.FirstOrDefault(); if (netPlayer == null) { return; } // Check if server is intended to be dedicated if (netPlayer.isLocalPlayer && HumanFallFlatExtension.Dedicated) { // Ignore server player return; } // Let universal know Universal.PlayerManager.PlayerDisconnected(netPlayer); // Call game-specific hook Interface.Call("OnPlayerDisconnected", netPlayer, "Unknown"); IPlayer player = netPlayer.IPlayer; if (player != null) { // Call universal hook Interface.Call("OnPlayerDisconnected", player, "Unknown"); } // Override/set server hostname string serverName = $"{Server.Name} | {Server.Players}/{Server.MaxPlayers}"; SteamMatchmaking.SetLobbyData((NetGame.instance.transport as NetTransportSteam).lobbyID, "name", serverName); }
public bool CreateGameStaet() { NetHost host = new NetHost(); host.StartListen(); NetPoster.Instance.Connection = host; myIsNetworking = true; myIsHosty = true; myGUICaretaker.GetGUI <Text>("Hosthost").SetVisibility(EGUIVisibility.Visible); myConnectedCallback = () => { MatchInfo matchInfo = new MatchInfo(); matchInfo.myMatchType = EMatchType.Host; myStateStack.AddCommand(new StateCommand { myCommandType = EStateCommandType.Add, myStateType = EStateType.Major, myState = new GameState(matchInfo) }); }; return(true); }
public void StartServer() { Log.Info(LogTag, "Starting server...", this); // Initialize server Initialize(); // Add host host = NetCore.Instance.AddHost(hostName: "Server host"); // Initialize systems systems.Initialize(); // Register host event listeners host.OnConnectEvent.RegisterListenerOnce(HandleConnect); host.OnDisconnectEvent.RegisterListenerOnce(HandleDisconnect); host.OnDataEvent.RegisterListenerOnce(HandleDataReceived); host.OnBroadcastEvent.RegisterListenerOnce(HandleBroadcastEvent); // Start broadcasting NetCore.Instance.StartBroadcastDiscovery(host.Port); Log.Info(LogTag, $"Server started on Host: {host}.", this); }
protected void Awake() { host = NetCore.Instance.AddHost(hostName: "Client host"); }
private void ParseContent() { if (parsed) { return; } parsed = true; ctext.InitData(); TextAsset activeContent = ActiveContent; List <CreditsBlock> list = new List <CreditsBlock>(); string[] array = activeContent.text.Split('\n'); for (int i = 0; i < array.Length; i++) { array[i] = array[i].Trim(); } int j = 0; float num = 0f; while (j < array.Length) { for (; j < array.Length && string.IsNullOrEmpty(array[j]); j++) { } if (j < array.Length) { string text = array[j++]; while (j < array.Length && !string.IsNullOrEmpty(array[j])) { text = text + "\r\n" + array[j++]; } CreditsBlock component = UnityEngine.Object.Instantiate(ctext.blockPrefab.gameObject).GetComponent <CreditsBlock>(); component.transform.SetParent(base.transform, worldPositionStays: false); component.transform.position = num * Vector3.up; component.Initialize(num, text, ctext); blocks.Add(component); list.Add(component); num -= blockSpacing; NetIdentity netIdentity = component.gameObject.AddComponent <NetIdentity>(); netIdentity.sceneId = (uint)blocks.Count; component.blockId = netIdentity; component.gameObject.name = "CrBlock" + netIdentity.sceneId.ToString(); } } startupDoorY = num - showAhead; topY = 0f; uint num2 = (uint)NetHost.CalcMaxPossibleSizeForContainerContentsTier0(); buckets.Clear(); uint num3 = 288u; int k = 0; for (int count = list.Count; k < count; k++) { CreditsBlock creditsBlock = list[k]; int bitsRequired = creditsBlock.bitsRequired; int count2 = buckets.Count; int num4 = count2 - 1; if (num4 < 0 || buckets[num4].bitsLeft < bitsRequired) { num4++; } BlockBucket blockBucket; if (num4 < count2) { blockBucket = buckets[num4]; } else { blockBucket = new BlockBucket(); buckets.Add(blockBucket); if (num3 > 1054) { throw new ApplicationException("Run out of auxilliary net ids"); } blockBucket.go = new GameObject("LettersScope" + num3.ToString()); blockBucket.scope = blockBucket.go.AddComponent <NetScope>(); blockBucket.scope.enabled = false; blockBucket.scope.netId = num3++; blockBucket.scope.AllowSuspendCollect = true; blockBucket.go.transform.SetParent(base.gameObject.transform, worldPositionStays: false); blockBucket.scope.enabled = true; blockBucket.bitsLeft = (int)(num2 * 8) - NetScope.CalculateDeltaPrefixSize(blockBucket.scope.netId); } blockBucket.blocks.Add(creditsBlock); blockBucket.bitsLeft -= bitsRequired; creditsBlock.transform.SetParent(blockBucket.go.transform, worldPositionStays: true); creditsBlock.bucket = blockBucket; } int l = 0; for (int count3 = buckets.Count; l < count3; l++) { BlockBucket blockBucket2 = buckets[l]; blockBucket2.scope.StartNetwork(); } CheckScopes(); }
public void Fill(NetHost input) { }
private object IOnPlayerChat(NetHost netHost, string name, string message) { if (message.Trim().Length <= 1) { return(true); } // TODO: Handle split screen players (same NetHost, different NetPlayer) List <NetPlayer> netPlayers = netHost.players.ToList(); NetPlayer netPlayer = netPlayers.FirstOrDefault(); IPlayer player = netPlayer?.IPlayer; if (netPlayer == null || player == null) { return(null); } // Update player's stored username if (!player.Name.Equals(name)) { player.Rename(name); } // Is it a chat command? string str = message.Substring(0, 1); if (!str.Equals("/") && !str.Equals("!")) { // Call the hooks for plugins object chatUniversal = Interface.Call("OnPlayerChat", player, message); object chatSpecific = Interface.Call("OnPlayerChat", netPlayer, message); if (chatUniversal != null || chatSpecific != null) { return(true); } Interface.uMod.LogInfo($"[Chat] {name}: {message}"); return(null); } // Get the command and parse it string cmd; string[] args; Universal.CommandSystem.ParseCommand(message.Substring(1), out cmd, out args); if (cmd == null) { return(null); } // Call the hooks for plugins object commandUniversal = Interface.Call("OnPlayerCommand", player, cmd, args); object commandSpecific = Interface.Call("OnPlayerCommand", netPlayer, cmd, args); if (commandUniversal != null || commandSpecific != null) { return(true); } // Is this a covalence command? message = "/" + message.Substring(1); if (Universal.CommandSystem.HandleChatMessage(player, message)) { return(true); } // TODO: Handle non-universal commands player.Reply(string.Format(lang.GetMessage("UnknownCommand", this, player.Id), cmd)); return(true); }