void Start() { networking = GetComponent<Networking>(); skillSelectUI = GetComponent<SkillSelectUI>(); menuUI = GetComponent<MenuUI>(); clientGameUI = GetComponent<ClientGameUI>(); }
/// <summary> /// New Player - Create Player. /// </summary> /// <param name="ID">ID of the player.</param> /// <param name="Network">Network for the player.</param> /// <param name="Package">Package.</param> public Player(int ID, Networking Network, Package Package) { this.ID = ID; this.Network = Network; Thread.Add(new ThreadStart(ThreadStartPinging)); Update(Package, false); Core.PlayerCollection.Add(this); Core.PlayerCollection.SentToPlayer(new Package(Package.PackageTypes.ID, ID.ToString(), Package.TcpClient)); Core.PlayerCollection.SendToAllPlayer(new Package(Package.PackageTypes.CreatePlayer, ID.ToString(), null)); Core.PlayerCollection.SendToAllPlayer(new Package(Package.PackageTypes.GameData, ID, GenerateGameData(true), null)); Thread.Add(new ThreadStart(ThreadUpdateWorld)); for (int i = 0; i < Core.PlayerCollection.Count; i++) { if (Core.PlayerCollection[i].ID != ID) { Core.PlayerCollection.SentToPlayer(new Package(Package.PackageTypes.CreatePlayer, Core.PlayerCollection[i].ID.ToString(), Package.TcpClient)); Core.PlayerCollection.SentToPlayer(new Package(Package.PackageTypes.GameData, Core.PlayerCollection[i].ID, Core.PlayerCollection[i].GenerateGameData(true), Package.TcpClient)); } } if (Core.Setting.Server.WelcomeMessage != null) Core.PlayerCollection.SentToPlayer(new Package(Package.PackageTypes.ChatMessage, Core.Setting.Server.WelcomeMessage, Package.TcpClient)); }
public IXPRequest(Networking.Client client, IXPFile request, Action<string> responseDelegate) { _request = request; _responseDelegate = responseDelegate; _client = client; Thread thread = new Thread(new ThreadStart(Work)); thread.Start(); }
protected override string ExecuteNetworking(string[] InArguments, Networking.IMessage InMessage) { var Message = (SetPlayerAttrMessage)InMessage; Message.AttrType = (int)(PlayerAttrType)StringToEnum(InArguments[0], typeof(PlayerAttrType)); Message.Value = SmartConvert<int>(InArguments[1]); return Done; }
void client_ConnectionStateChanged(Networking.ConnectionState state) { if (state == Networking.ConnectionState.Timeout) { MessageBox.Show("Couldn't connect to server"); timer.Stop(); } }
public override void ReceiveCommand(Networking.Commands.GameObjectCommand command) { PlayerBrain.PlayerBrainUpdateParams parms = (PlayerBrain.PlayerBrainUpdateParams)command.Parameters; Owner.InputMovementVector = parms.InputMovementVector; Owner.Position = parms.Position; Owner.RotationTowardFacingDirectionRadians = parms.RotationTowardFacingDirectionRadians; Owner.CurrentState = parms.CurrentState; }
//public void OnCollisionEnter(Collision collision) //{ // isDouble = (Time.realtimeSinceStartup - lastShot < doubleInterval); // if (!isDouble && Time.realtimeSinceStartup - lastShot < interval) return; // LeapBoxingObject leapObj = collision.gameObject.GetComponent<LeapBoxingObject>(); // if (leapObj) // { // //Debug.Log("mang : " + leapObj.maxVelocity.magnitude); // //Debug.Log("velo : " + leapObj.maxVelocity); // //Debug.Log("norm : " + leapObj.maxVelocity.normalized); // //Debug.Log("dir : " + (collision.transform.position - transform.position)); // //if (leapObj.maxVelocity.z > 0) return; // //Debug.Log(leapObj.maxVelocity.magnitude); // Vector3 initPos = (Vector3.up * 2) + (Camera.main.transform.forward * 5); // mentosCopy = Instantiate(mentos, collision.gameObject.transform.position, Quaternion.identity) as GameObject; // mentosCopy.transform.position += initPos; // mentosCopy.rigidbody.AddForce(Camera.main.transform.forward * force); // if (isDouble) // { // mentosCopy = Instantiate(mentos, collision.gameObject.transform.position, Quaternion.identity) as GameObject; // mentosCopy.transform.position += (Camera.main.transform.right * 3) + initPos; // mentosCopy.rigidbody.AddForce(Camera.main.transform.forward * force); // mentosCopy = Instantiate(mentos, collision.gameObject.transform.position, Quaternion.identity) as GameObject; // mentosCopy.transform.position += -(Camera.main.transform.right * 3) + initPos; // mentosCopy.rigidbody.AddForce(Camera.main.transform.forward * force); // } // lastShot = Time.realtimeSinceStartup; // } //} void Start() { LeapHandController hc = GameObject.Find("Leap Controller Multiple/_leapController").GetComponent<LeapHandController>(); ind1 = GameObject.Find("OVRCameraController/CameraLeft/h1Ind").renderer; ind2 = GameObject.Find("OVRCameraController/CameraRight/h2Ind").renderer; nt = GameObject.Find("Networking").GetComponent<Networking>(); h1 = hc.unityHands[0]; h2 = hc.unityHands[1]; _mechaController = GameObject.Find("Mecha").GetComponent<UpdateMechaRotation>(); interval = _mechaController.animation.GetClip("Left Shot").length; }
// Use this for initialization void Start() { net = new Networking(); int loading = 1; while (loading == 1) { net.Receive(); loading = Serializer.Unserialize(net.recbuf); // loading = UpdateWorldFromServer(net.recbuf); } net.EnterReceiveLoop(); }
public override Task <ThumbnailInfo> GetThumbnailInfoAsync(string url, PostClass post, CancellationToken token) { return(Task.Run(() => { var match = Nicovideo.UrlPatternRegex.Match(url); if (!match.Success) { return null; } var apiUrl = "http://www.nicovideo.jp/api/getthumbinfo/" + match.Groups["id"].Value; var http = new HttpVarious(); var src = ""; var imgurl = ""; string errmsg; if (http.GetData(apiUrl, null, out src, 0, out errmsg, Networking.GetUserAgentString())) { var sb = new StringBuilder(); var xdoc = new XmlDocument(); try { xdoc.LoadXml(src); var status = xdoc.SelectSingleNode("/nicovideo_thumb_response").Attributes["status"].Value; if (status == "ok") { imgurl = xdoc.SelectSingleNode("/nicovideo_thumb_response/thumb/thumbnail_url").InnerText; //ツールチップに動画情報をセットする string tmp; try { tmp = xdoc.SelectSingleNode("/nicovideo_thumb_response/thumb/title").InnerText; if (!string.IsNullOrEmpty(tmp)) { sb.Append(Properties.Resources.NiconicoInfoText1); sb.Append(tmp); sb.AppendLine(); } } catch (Exception) { } try { tmp = xdoc.SelectSingleNode("/nicovideo_thumb_response/thumb/length").InnerText; if (!string.IsNullOrEmpty(tmp)) { sb.Append(Properties.Resources.NiconicoInfoText2); sb.Append(tmp); sb.AppendLine(); } } catch (Exception) { } try { var tm = new DateTime(); tmp = xdoc.SelectSingleNode("/nicovideo_thumb_response/thumb/first_retrieve").InnerText; if (DateTime.TryParse(tmp, out tm)) { sb.Append(Properties.Resources.NiconicoInfoText3); sb.Append(tm.ToString()); sb.AppendLine(); } } catch (Exception) { } try { tmp = xdoc.SelectSingleNode("/nicovideo_thumb_response/thumb/view_counter").InnerText; if (!string.IsNullOrEmpty(tmp)) { sb.Append(Properties.Resources.NiconicoInfoText4); sb.Append(tmp); sb.AppendLine(); } } catch (Exception) { } try { tmp = xdoc.SelectSingleNode("/nicovideo_thumb_response/thumb/comment_num").InnerText; if (!string.IsNullOrEmpty(tmp)) { sb.Append(Properties.Resources.NiconicoInfoText5); sb.Append(tmp); sb.AppendLine(); } } catch (Exception) { } try { tmp = xdoc.SelectSingleNode("/nicovideo_thumb_response/thumb/mylist_counter").InnerText; if (!string.IsNullOrEmpty(tmp)) { sb.Append(Properties.Resources.NiconicoInfoText6); sb.Append(tmp); sb.AppendLine(); } } catch (Exception) { } } else if (status == "fail") { var errcode = xdoc.SelectSingleNode("/nicovideo_thumb_response/error/code").InnerText; errmsg = errcode; imgurl = ""; } else { errmsg = "UnknownResponse"; imgurl = ""; } } catch (Exception) { imgurl = ""; errmsg = "Invalid XML"; } if (!string.IsNullOrEmpty(imgurl)) { return new ThumbnailInfo { ImageUrl = url, ThumbnailUrl = imgurl, TooltipText = sb.ToString().Trim() }; } } return null; }, token)); }
public void RefreshData(RoomInfo roomInfo) { this.gameObject.SetActive(true); PlayerNameText.text = roomInfo.Name; string passworded = roomInfo.CustomProperties["P"].ToString(); if (passworded == "1") { Locked.SetActive(true); Unlocked.SetActive(false); } else { Locked.SetActive(false); Unlocked.SetActive(true); } SlotText.text = roomInfo.PlayerCount + "/" + roomInfo.MaxPlayers; string currentMap = roomInfo.CustomProperties["M"].ToString(); MapText.text = currentMap; string currentStatus = roomInfo.CustomProperties["S"].ToString(); switch (currentStatus) { case "0": StatusText.text = "Creating"; break; case "1": StatusText.text = "Prepearing"; break; case "2": StatusText.text = "Playing"; break; case "3": StatusText.text = "Ending"; break; default: StatusText.enabled = false; break; } Button b = this.gameObject.GetComponent <Button>(); if (b == null) { Debug.LogError(b + " does not have a button script!"); } else { b.onClick.AddListener( delegate { string password = roomInfo.CustomProperties["PW"].ToString(); if (passworded == "1") { // Setup the ask password stuff. GameObject networkObject = GameObject.FindGameObjectWithTag("NetworkObject"); if (networkObject != null) { // Tell our networking script to remember these as we need them later. Networking networkScript = networkObject.GetComponent <Networking>(); networkScript.password = password; networkScript.roomName = roomInfo.Name; // Enable the input for the password. GameObject scriptObject = GameObject.FindGameObjectWithTag("ScriptObject"); MenuSetup createUI = (MenuSetup)scriptObject.GetComponent(typeof(MenuSetup)); createUI.PasswordMaster.SetActive(true); } else { Debug.LogError("Network Object is missing. (Called by ServerItem: " + b + ")"); } } else { PhotonNetwork.JoinRoom(roomInfo.Name); } } ); } }
/// <summary> /// Receives messages from server and handles them /// </summary> /// <param name="state"></param> private void ReceiveUpdatesLoop(SocketState state) { if (state.ErrorOccured) { // inform the view Error?.Invoke(state.ErrorMessage, "Error In Event Loop"); Disconnect(); return; } string incomingMessages = state.GetData(); string[] data = Regex.Split(incomingMessages, @"(?<=[\n])"); foreach (string message in data.Where(message => message.Length != 0)) { //Last Step of handshake if message is the id if (int.TryParse(message, out int i)) { IDReceive?.Invoke(i); continue; } // The regex splitter will include the last string even if it doesn't end with a '\n', // So we need to ignore it if this happens. if (message.Last() != '\n' || message[0] != '{') { continue; } Console.WriteLine("Received:" + message); //Parse message as json object var x = JObject.Parse(message); switch (x["messageType"]?.ToString()) { case "cellUpdated": { if (EditCell is null) { continue; } var updated = JsonConvert.DeserializeObject <CellUpdated>(message); EditCell.Invoke(updated); break; } case "cellSelected": { if (SelectCell is null) { continue; } var selected = JsonConvert.DeserializeObject <CellSelected>(message); SelectCell.Invoke(selected); break; } case "serverError": { if (ServerShutdown is null) { continue; } var error = JsonConvert.DeserializeObject <ServerShutdownError>(message); ServerShutdown.Invoke(error); break; } case "requestError": { if (RequestError is null) { continue; } var error = JsonConvert.DeserializeObject <RequestError>(message); RequestError.Invoke(error); break; } case "disconnected": { var d = JsonConvert.DeserializeObject <Disconnected>(message); ClientDisconnected?.Invoke(d); break; } } state.RemoveData(0, message.Length); } Networking.GetData(state); }
internal void ReceiveCommand(Networking.Commands.GameObjectCommand command) { throw new NotImplementedException("THIS DOES NOTHING YET"); }
public override void OnPlayerLeft(VRCPlayerApi player) { isOwner = Networking.IsOwner(gameObject); }
// Use this for initialization void Start() { networking = Networking.Instance; networking.SetupClient(); }
/// <summary> /// A helper to decide which action to take, based on the message contents. /// </summary> /// <param name="message">example: focus A9:unique_1\3</param> private void ProcessNext(string message) { // Parse command/contents and switch on the command found string[] parse = message.Split(' '); string command = parse[0]; string contents = ""; if (parse.Length > 1) { contents = message.Substring(command.Length + 1); } switch (command) { // Error loading the file, prompt user to select a file again case "file_load_error": // Show an error dialog window.ShowErrorMessageBox("File Load Error, please try again."); // in combo box dialog, choose another spreadsheet string spreadsheet = ChooseSpreadsheetBox(sheetChoicesForUser); window.WindowText = spreadsheet; Networking.Send(theServer, "load " + spreadsheet + THREE); break; // Disconnect, ending the session case "disconnect": EndSession("SERVER_ERROR"); break; case "ping": Networking.Send(theServer, "ping_response " + THREE); break; // A ping response arrived, so reset our ping timer case "ping_response": window.ResetTimeout(); Debug.WriteLine("ping_response received"); break; case "full_state": LoadSheet(contents); fullStateReceived = true; // do some startup Networking.Send(theServer, "focus " + window.CurrentCellText + THREE); Networking.Send(theServer, "ping " + THREE); Debug.WriteLine("first ping sent"); window.StartPinging(); break; case "change": ApplyChange(contents); break; case "focus": // contents example: A9:unique_1d string[] parsed = contents.Split(':'); if (parsed.Length != 2) { return; // discard } // keep track of other client's selected cell if (!clientCells.ContainsKey(parsed[1])) { clientCells.Add(parsed[1], parsed[0]); } else { clientCells[parsed[1]] = parsed[0]; } FocusCell(parsed[0]); break; case "unfocus": string clientID = contents; if (clientCells.ContainsKey(clientID)) { UnfocusCell(clientCells[clientID]); } break; } }
//public string PacketType; //PacketType = Enum.GetName(typeof(LibClassicBot.Networking.ServerPackets), opcode); /// <summary> /// PacketEventArg containg the opcode / PacketID of a packet. To get the actual byte, use (byte)e.OpCode. /// </summary> /// <param name="opcode">The ServerPackets representation of the packet ID.</param> internal PacketEventArgs(Networking.ServerPackets opcode) { OpCode = opcode; }
private void Connection_Received(object sender, Networking.ConnectionEventArgs e) { var player = new Player(e.Connection.RemoteUniqueIdentifier); player.Connection = e.Connection; this.AddPlayer(player, e.Connection.RemoteUniqueIdentifier); }
void LClient_eUserEvent(Networking.LobbyClient.User user, bool Connected) { System.Threading.Thread thread = new System.Threading.Thread ( new System.Threading.ThreadStart ( delegate() { rtbChat.Dispatcher.Invoke ( System.Windows.Threading.DispatcherPriority.Normal, new Action ( delegate() { if (rtbChat == null) return; if (Connected) { if (!user.Username.Equals("")) rtbChat.AppendText("[" + user.Username + "]: Joined the lobby.\n"); } else { if (!user.Username.Equals("")) rtbChat.AppendText("[" + user.Username + "]: Left the lobby.\n"); } UpdateColors(); Update_Online_Users(); } ) ); } ) ); thread.Start(); }
void Start() { anim = animation; nt = GameObject.Find("Networking").GetComponent<Networking>(); ao = transform.FindChild("ShotSound").audio; startupSound = transform.FindChild("StartupSound").audio; _spawner = GameObject.Find("Spawner").GetComponent<Spawner>(); _score = transform.FindChild("Score").GetComponent<TextMesh>(); }
void server_ReceiveTCPData(byte packetType, Networking.BinaryWrapper reader, Networking.Player player) { if (packetType == Networking.ServerPacketTypeBase.ConnectionAck) { server.AcceptPlayer(player); } else if (packetType == MyClientPackets.ServerChat) { var chat = Networking.StringWriter.Read(reader); foreach (var p in server.Players) { // if p == player continue? p.Tcp.BatchStream.Write(MyClientPackets.ClientChat); p.Tcp.BatchStream.Write(player.Index); Networking.StringWriter.Write(chat, p.Tcp.BatchStream); p.Tcp.BatchStream.Write(Networking.PacketTypeBase.EndOfMessage); } } textBox2.Text += "(DEBUG: Server: Received TCP "+packetType.ToString()+")"+Environment.NewLine; }
void Udp_PacketReceived(byte packetType, Networking.BinaryWrapper reader, System.Net.IPEndPoint endPoint) { textBox2.Text += "(DEBUG: Client: Received UDP "+packetType.ToString()+")"+Environment.NewLine; }
public override void OnOwnershipTransferred() { behaviour.SetProgramVariable(playerObjectName, Networking.GetOwner(gameObject)); behaviour.SendCustomEvent(eventName); }
/// <summary> /// Send an unfocus and focus message to the server. /// </summary> /// <param name="sender"></param> private void SendFocusToServer() { Networking.Send(theServer, "unfocus " + THREE); Networking.Send(theServer, "focus " + window.CurrentCellText + THREE); }
public void NetworkRegisterToAlarmService(Networking.ServerInstance instance, string function) { AlarmService.RegisterClient(instance, function); }
/// <summary> /// This method is called when the host server button is clicked /// </summary> public void StartServer() { // Create a host connection socket = Networking.Host((ushort)port, protocolType, playerCount, IsWinRT); Go(); }
public void NetworkUnregisterFromAlarmService(Networking.ServerInstance instance) { AlarmService.UnregisterClient(instance); }
void Update() { if (CrossPlatformInputManager.GetButtonDown("FreeGame")) { Main.mode = Mode.FreeGame; Main.bot = false; Application.LoadLevel(1); } if (CrossPlatformInputManager.GetButtonDown("Bot")) { Main.mode = Mode.FreeGame; Main.bot = true; Application.LoadLevel(1); } if (CrossPlatformInputManager.GetButtonDown("Casual")) { Main.mode = Mode.Casual; Application.LoadLevel(1); } if (CrossPlatformInputManager.GetButtonDown("Host")) { ResetAll(); hostPanel.SetActive(true); hostPort.text = "27015"; hostIp.text = Networking.GetLocalIPAddress(); } if (CrossPlatformInputManager.GetButtonDown("Join")) { ResetAll(); joinPanel.SetActive(true); joinPort.text = "27015"; joinIp.text = "127.0.0.1"; } if (CrossPlatformInputManager.GetButtonDown("Host-Host")) { Main.mode = Mode.Host; Main.port = int.Parse(hostPort.text); Main.ip = hostIp.text; Application.LoadLevel(1); } if (CrossPlatformInputManager.GetButtonDown("Join-Join")) { Main.mode = Mode.Join; Main.port = int.Parse(joinPort.text); Main.ip = joinIp.text; Application.LoadLevel(1); } }
void Awake() { instance = this; }
public static void ProduceFactories() { foreach (var data in Core.GlobalData.Buildings) { if (data.UpgStart == 0 && data.ProdStart == 0) { var def = Definitions.BuildingDef.Items.Item.First(n => n.DefId == data.DefId); if (def.Type != "factory") { continue; } var needed = def.Levels.Level.FirstOrDefault(n => n.Id == data.Level); if (needed == null) { continue; } if (data.DefId == 11) { // This is a machinery if (Core.Config.autothresholdworkshop) { // Mechanical part if (Core.GlobalData.GetAmountItem(33) < Core.Config.thresholdmechanical) { var prodid = 1; var enough = true; var mat = needed.ProdOutputs.ProdOutput.Where(n => n.Id == 1).FirstOrDefault(); if (mat == null) { continue; } foreach (var prod in mat.Inputs.Input) { if (Core.GlobalData.GetAmountItem(prod.Id) < prod.Amount) { enough = false; } } if (enough) { foreach (var inp in mat.Inputs.Input) { Core.GlobalData.Inventory.First(n => n.Id == inp.Id).Amount -= inp.Amount; } Logger.Info( string.Format( Localization.FACTORIES_STARTED_PROD, MaterialDB.GetLocalizedName(mat.MaterialId))); Networking.AddTask(new Task.StartBuildingProducingTask(data.InstId, prodid)); data.ProdStart = TimeUtils.GetEpochTime(); continue; } // This will work } // Fuel if (Core.GlobalData.GetAmountItem(180) < Core.Config.thresholdfuel) { var prodid = 2; var enough = true; var mat = needed.ProdOutputs.ProdOutput.Where(n => n.Id == prodid).FirstOrDefault(); if (mat == null) { continue; } foreach (var prod in mat.Inputs.Input) { if (Core.GlobalData.GetAmountItem(prod.Id) < prod.Amount) { enough = false; } } if (enough) { foreach (var inp in mat.Inputs.Input) { Core.GlobalData.Inventory.First(n => n.Id == inp.Id).Amount -= inp.Amount; } Logger.Info( string.Format( Localization.FACTORIES_STARTED_PROD, MaterialDB.GetLocalizedName(mat.MaterialId))); Networking.AddTask(new Task.StartBuildingProducingTask(data.InstId, prodid)); data.ProdStart = TimeUtils.GetEpochTime(); continue; } } // todo CHECK FOR LEVEL!!! // Concrete if (data.Level >= 5) { if (Core.GlobalData.GetAmountItem(182) < Core.Config.thresholdconcrete) { var prodid = 3; var enough = true; var mat = needed.ProdOutputs.ProdOutput.Where(n => n.Id == prodid).FirstOrDefault(); if (mat == null) { continue; } foreach (var prod in mat.Inputs.Input) { if (Core.GlobalData.GetAmountItem(prod.Id) < prod.Amount) { enough = false; } } if (enough) { foreach (var inp in mat.Inputs.Input) { Core.GlobalData.Inventory.First(n => n.Id == inp.Id).Amount -= inp.Amount; } Logger.Info( string.Format( Localization.FACTORIES_STARTED_PROD, MaterialDB.GetLocalizedName(mat.MaterialId))); Networking.AddTask(new Task.StartBuildingProducingTask(data.InstId, prodid)); data.ProdStart = TimeUtils.GetEpochTime(); } } } } else { var prodid = 0; var matid = 0; var thresholdconc = 0; switch (Core.Config.workshoptype) { case WorkshopType.Concrete: { matid = 182; prodid = 3; thresholdconc = Core.Config.thresholdconcrete; } break; case WorkshopType.Fuel: { matid = 180; prodid = 2; thresholdconc = Core.Config.thresholdfuel; } break; case WorkshopType.MechanicalPart: { matid = 33; prodid = 1; thresholdconc = Core.Config.thresholdmechanical; break; } } if (prodid == 3 && data.Level < 5) { continue; } if (Core.GlobalData.GetAmountItem(matid) < thresholdconc || thresholdconc == 0) { var enough = true; var mat = needed.ProdOutputs.ProdOutput.Where(n => n.Id == prodid).FirstOrDefault(); if (mat == null) { continue; } foreach (var prod in mat.Inputs.Input) { if (Core.GlobalData.GetAmountItem(prod.Id) < prod.Amount) { enough = false; } } if (enough) { foreach (var inp in mat.Inputs.Input) { Core.GlobalData.Inventory.First(n => n.Id == inp.Id).Amount -= inp.Amount; } Logger.Info( string.Format( Localization.FACTORIES_STARTED_PROD, MaterialDB.GetLocalizedName(mat.MaterialId))); Networking.AddTask(new Task.StartBuildingProducingTask(data.InstId, prodid)); data.ProdStart = TimeUtils.GetEpochTime(); } } } // Don't need another shit continue; } // lets start? // DO WE HAVE ENOUGH RESOURCES var ok = true; var inputs = needed.ProdOutputs.ProdOutput; var Dict = new Dictionary <long, long>(); foreach (var input in inputs) { foreach (var inp in input.Inputs.Input) { var ourmat = Core.GlobalData.Inventory.FirstOrDefault(n => n.Id == inp.Id); if (ourmat == null) { ok = false; } else { if (ourmat.Amount >= inp.Amount) { if (Dict.ContainsKey(inp.Id)) { Dict[inp.Id] += inp.Amount; } else { Dict.Add(inp.Id, inp.Amount); } } else { ok = false; } } } if (MaterialDB.GetItem(input.MaterialId).Name == "wood") { var amount = Core.GlobalData.Inventory.FirstOrDefault(n => n.Id == input.MaterialId); if (amount != null && Core.Config.woodlimit != 0) { if (amount.Amount > Core.Config.woodlimit) { ok = false; } } } if (MaterialDB.GetItem(input.MaterialId).Name == "iron") { var amount = Core.GlobalData.Inventory.FirstOrDefault(n => n.Id == input.MaterialId); if (amount != null && Core.Config.ironlimit != 0) { if (amount.Amount > Core.Config.ironlimit) { ok = false; } } } if (MaterialDB.GetItem(input.MaterialId).Name == "stone") { var amount = Core.GlobalData.Inventory.FirstOrDefault(n => n.Id == input.MaterialId); if (amount != null && Core.Config.stonelimit != 0) { if (amount.Amount > Core.Config.stonelimit) { ok = false; } } } } if (ok) { foreach (var inp in Dict) { Core.GlobalData.Inventory.First(n => n.Id == inp.Key).Amount -= (int)inp.Value; } Logger.Info( string.Format( Localization.FACTORIES_STARTED_PROD, MaterialDB.GetLocalizedName(needed.ProdOutputs.ProdOutput[0].MaterialId))); Networking.AddTask(new Task.StartBuildingProducingTask(data.InstId, data.ProdId)); data.ProdStart = TimeUtils.GetEpochTime(); } } } }
void Start() { instance = this; }
void Tcp_PacketReceived(byte packetType, Networking.BinaryWrapper reader, System.Net.IPEndPoint endPoint) { textBox2.Text += "(DEBUG: Client: Received TCP "+packetType.ToString()+")"+Environment.NewLine; if (packetType == Networking.ClientPacketTypeBase.ConnectionAck) { client.Tcp.NetStreamBinary.Write(Networking.PacketTypeBase.EndOfMessage); } else if (packetType == MyClientPackets.ClientChat) { var player = client.Players[reader.ReadInt()]; textBox2.Text += player.Name+": " + Networking.StringWriter.Read(reader)+Environment.NewLine; } else if (packetType == Networking.ClientPacketTypeBase.PlayerData) { foreach (var p in client.Players) { if (listBox1.Items.Count <= p.Index) listBox1.Items.Add(""); if (!p.Active) listBox1.Items[p.Index] = "(Disconnected)"; else listBox1.Items[p.Index] = p.Name; } } }
void Start() { networking = GetComponent<Networking>(); }
/// <summary> /// Connects client to server with username and begins Handshake with the server /// </summary> /// <param name="name">Username</param> /// <param name="serverIP">Ip to connect to</param> public void Connect(string name, string serverIP) { _username = name; Networking.ConnectToServer(OnConnect, serverIP, Port); }
void Awake() { Instance = this; }
public void JoinRoom(string addr) { Networking.Connect(addr); }
public void onMessage(Networking.Protocol.Message status, object o) { switch (status) { case Networking.Protocol.Message.IMEI: this.Tracker = TrackerLogic.GetTracker((string)o); if (this.IsAuthenticated()) { this.OnAuthenticated(new EventArgs()); SMLogger.LogThis("Client Authenticated."); TrackerLogic.SetTrackerOnLine(this.Tracker); this.StartMessagePolling(); } break; case Networking.Protocol.Message.TcpLoc: this.InsertPosition((TcpLoc)o); break; } }
public void RetrievedAfterOwnerLeftWhileUsing() { EXUR_LastUsedTime = Networking.GetServerTimeInMilliseconds(); }
public static void SendCustomNetworkEventHook(UdonBehaviour behaviour, NetworkEventTarget target, string eventName) { if (target == NetworkEventTarget.All || (target == NetworkEventTarget.Owner && Networking.IsOwner(behaviour.gameObject))) { Debug.Log("Sending Network Event! eventName:" + eventName + ", obj:" + VRC.Tools.GetGameObjectPath(behaviour.gameObject)); behaviour.SendCustomEvent(eventName); } else { Debug.Log("Did not send custom network event " + eventName + " for object at " + VRC.Tools.GetGameObjectPath(behaviour.gameObject)); } }
private void LoadScene() { Networking.SetPrimarySocket(socket); Application.LoadLevel(sceneName); }
void Start() { nt = GameObject.Find("Networking").GetComponent<Networking>(); if (autoSpawn) InvokeRepeating("Spawn", 1, 7); }
private void Ping() { Networking.Send(theServer, "ping " + THREE); Debug.WriteLine("ping sent"); }
/// <summary> /// This is the method recieve the world, serialize it and split it by next line, Deserializes the totalDat /// and sets projectiles,ships and stars. /// </summary> /// <param name="ss"></param> public void ReceiveWorld(SocketState ss) { string totalData = ss.sb.ToString(); JsonSerializerSettings settings = new JsonSerializerSettings(); settings.MissingMemberHandling = MissingMemberHandling.Error; //this method splits totalData by nextline. String[] parts = Regex.Split(totalData, @"(?<=[\n])"); //looping through parts. foreach (string p in parts) { if (p.Length == 0) { continue; } if (p[p.Length - 1] != '\n') { break; } if (p[0] == '{' || p[p.Length - 2] == '}') { //parsing the jason object and setting it to obj. JObject obj = JObject.Parse(p); //different tokens in Jason object. JToken shipToken = obj["ship"]; JToken projectileToken = obj["proj"]; JToken starToken = obj["star"]; Ship theship = null; Projectile theProjectile = null; Star thestar = null; if (shipToken != null) { //Deserialiing the ship object. theship = JsonConvert.DeserializeObject <Ship>(p); } if (projectileToken != null) { //Deserializing the Projectile object. theProjectile = JsonConvert.DeserializeObject <Projectile>(p); } if (starToken != null) { //Deserializing the star object. thestar = JsonConvert.DeserializeObject <Star>(p); } lock (world) { if (theship != null) { //storing all ships in ship collecting in world class. world.shipCollection[theship.getShipId()] = theship; } if (thestar != null) { //storing all star in star collecting in world class. world.starCollection[thestar.getStarId()] = thestar; } if (theProjectile != null) { //removing only if the projectile is alive. if (theProjectile.getProjectileAlive() == false) { //removing all projectiles in projectile collection from world class. world.projectileCollection.Remove(theProjectile.getProjectileId()); } else { //storing all projectile in projectilecollecting in world class. world.projectileCollection[theProjectile.getProjectileId()] = theProjectile; } } } } //Removing the socketstate. ss.sb.Remove(0, p.Length); Frametick(); } keyevent(); //calling the delegate call me to recieveworld. ss.callMe = ReceiveWorld; Networking.GetData(ss); }
private void Update() { if (Input.GetKeyDown(KeyCode.Escape)) { Networking.Disconnect(); } if (Shooting) //Local bullet shooting! { _timespan -= Time.deltaTime; if (_timespan <= 0) { _timespan = RapidFire ? _firingRate * 0.5f : _firingRate; float lifespan = 5; Ray gunRay = new Ray(transform.position, transform.forward); #if !BARE_METAL ForgeZombie hitZombie = null; #endif RaycastHit[] gunHit; #if UNITY_EDITOR Debug.DrawRay(transform.position, transform.forward * 100, Color.green); #endif gunHit = Physics.RaycastAll(gunRay, 100); if (gunHit != null && gunHit.Length > 0) { foreach (RaycastHit hit in gunHit) { if (hit.collider != null) { if (hit.collider.name.Contains("Zombie")) { #if !BARE_METAL hitZombie = hit.collider.GetComponent <ForgeZombie>(); #endif //We hit a zombie! woot! float distance = Vector3.Distance(transform.position, hit.collider.transform.position); lifespan = distance * 0.02f; break; } } } } #if !BARE_METAL //Shoot the bullet! Transform bullet = Instantiate(Bullet, transform.position + (transform.forward * 1.2f), transform.rotation) as Transform; if (hitZombie != null) { bullet.GetComponent <ForgeZombieBullet>().Setup(hitZombie, lifespan); } #endif } } if (RapidFire) { RapidFireTimespan -= Time.deltaTime; if (RapidFireTimespan <= 0) { RapidFireTimespan = 3; RapidFire = false; } } }
public GameController() { this.world = new World(); Networking.registerNetwork(handleNetworkException); }
public void StartClient() { socket = Networking.Connect(host, (ushort)port, protocolType, IsWinRT); Go(); }
async void OnDoneClick(object sender, EventArgs e) { if (ContentView.IsAnyRequiredFieldEmpty) { ContentView.Banner.SetInformationText("Please fill our all required fields", true); return; } ContentView.CancelCrosshairMode(); PointClient.MarkerSource.Clear(); ContentView.Popup.Hide(); ContentView.Banner.SetInformationText("Compressing image...", false); using (var stream = new MemoryStream()) { Bitmap bitmap = ContentView.Content.CameraField.Photo; BucketResponse response1; string filename; if (bitmap == null) { // Photo is an optional field. // Create a mock successful response, // if the user hasn't taken a photo response1 = new BucketResponse(); response1.Path = ""; filename = ""; } else { bitmap.Compress(Bitmap.CompressFormat.Png, Quality, stream); filename = ContentView.Content.CameraField.ImageName; ContentView.Banner.ShowUploadingImage(); response1 = await BucketClient.Upload(filename, stream); } if (response1.IsOk) { ContentView.Banner.ShowUploadingData(); Data item = GetData(response1.Path); CartoResponse response2 = await Networking.Post(item); if (response2.IsOk) { ContentView.Banner.Complete(); } else { ContentView.Banner.ShowFailedCartoUpload(); SQLClient.Instance.Insert(item); } } else { ContentView.Banner.ShowFailedAmazonUpload(); Data item = GetData(filename); SQLClient.Instance.Insert(item); } ContentView.Content.Clear(); PointClient.QueryPoints(delegate { }); } }
public ProcessingResult Process(RequestContext context) { int intServerID = 0; MCServer s; string json; JObject jProps; if (context.Request.Uri.AbsoluteUri.Contains(@"/api/")) { //must be authenticated //what is the action? if (context.Request.Method == Method.Post && WebSession.Current.UserName == "admin") { String strResponse = ""; IParameterCollection param = context.Request.Parameters; switch (context.Request.Parameters["action"]) { case "log": //grabs lines from the log. int intStartID = Convert.ToInt32(context.Request.Parameters["start"]); int intNumRows = Convert.ToInt32(context.Request.Parameters["rows"]); int intServer = Convert.ToInt32(context.Request.Parameters["serverid"]); string strLevel = context.Request.Parameters["level"]; DataSet ds = Database.ReturnLogRows(intStartID, intNumRows, strLevel, intServer); strResponse = JsonConvert.SerializeObject(ds, Formatting.Indented); break; case "list": //List available servers strResponse = "{ \"servers\" : ["; foreach (KeyValuePair <int, MCServer> kvp in Core.Servers) { strResponse += "{ \"id\" : " + kvp.Value.ServerID + ", " + "\"title\" : \"" + kvp.Value.ServerTitle + "\", " + "\"ver\" : \"" + kvp.Value.ServerVersion + "\" } ,"; } ; strResponse = strResponse.Remove(strResponse.Length - 1); strResponse += "]}"; break; case "status": //Get status of a server s = Core.Servers[Convert.ToInt32(context.Request.Parameters["serverid"])]; strResponse = "{ \"serverid\" : " + s.ServerID + "," + "\"status\" : \"" + s.Running + "\"," + "\"ram\" : " + s.GetMemory() + "," + "\"vm\" : " + s.GetVMemory() + "," + "\"restartneeded\" : \"" + s.RestartNeeded + "\"," + "\"restartwhenfree\" : \"" + s.RestartWhenFree + "\"," + "\"gamemode\" : \"" + s.GameMode + "\"," + "\"players\" : ["; if (s.Players.Count > 0) { foreach (KeyValuePair <string, Objects.Player> kvp in s.Players) { Vector playerPos = kvp.Value.Position; strResponse += " { \"name\": \"" + kvp.Value.Username + "\", " + "\"level\": \"" + kvp.Value.Level + "\", " + "\"x\": \"" + playerPos.x.ToString("0.##") + "\", " + "\"y\": \"" + playerPos.y.ToString("0.##") + "\", " + "\"z\": \"" + playerPos.z.ToString("0.##") + "\" },"; } ; strResponse = strResponse.Remove(strResponse.Length - 1); } strResponse += "]}"; break; case "get-players": DataSet dsPlayers = Database.GetPlayers(Convert.ToInt32(context.Request.Parameters["serverid"])); JsonConvert.SerializeObject(dsPlayers, Formatting.Indented); break; case "overviewer": //Maps a server s = Core.Servers[Convert.ToInt32(context.Request.Parameters["serverid"])]; string strRenderModes = ""; if (param["normal"] == "true") { strRenderModes += "normal"; } if (param["lighting"] == "true") { if (strRenderModes != "") { strRenderModes += ","; } strRenderModes += "lighting"; } if (param["night"] == "true") { if (strRenderModes != "") { strRenderModes += ","; } strRenderModes += "night"; } if (param["spawn"] == "true") { if (strRenderModes != "") { strRenderModes += ","; } strRenderModes += "spawn"; } if (param["cave"] == "true") { if (strRenderModes != "") { strRenderModes += ","; } strRenderModes += "cave"; } AddOns.Overviewer over = new AddOns.Overviewer(s, "rendermodes=" + strRenderModes); over.Start(); strResponse = "{ \"result\" : \"sent\" }"; break; case "c10t": //Images a server s = Core.Servers[Convert.ToInt32(context.Request.Parameters["serverid"])]; AddOns.c10t c10t = new AddOns.c10t(s, "night=" + param["night"] + "&mode=" + param["mode"]); c10t.Start(); strResponse = "{ \"result\" : \"sent\" }"; break; case "tectonicus": //Maps a server s = Core.Servers[Convert.ToInt32(context.Request.Parameters["serverid"])]; AddOns.Tectonicus tecton = new AddOns.Tectonicus(s, "lighting=" + param["lighting"] + "&night=" + param["night"] + "&delete=" + param["delete"]); tecton.Start(); strResponse = "{ \"result\" : \"sent\" }"; break; case "start": //Starts a server Core.Servers[Convert.ToInt32(context.Request.Parameters["serverid"])].Start(); strResponse = "{ \"result\" : \"sent\" }"; break; case "stop": //Stops a server Core.Servers[Convert.ToInt32(context.Request.Parameters["serverid"])].Stop(); strResponse = "{ \"result\" : \"sent\" }"; break; case "restart": //Restarts a server Core.Servers[Convert.ToInt32(context.Request.Parameters["serverid"])].Restart(); strResponse = "{ \"result\" : \"sent\" }"; break; case "delayed-restart": //Restarts a server after a specified time and warns players Core.Servers[Convert.ToInt32(context.Request.Parameters["serverid"])].DelayedRestart(Convert.ToInt32(param["delay"])); strResponse = "{ \"result\" : \"sent\" }"; break; case "restart-when-free": Core.Servers[Convert.ToInt32(context.Request.Parameters["serverid"])].RestartIfEmpty(); strResponse = "{ \"result\" : \"sent\" }"; break; case "command": //Sends literal command to a server Core.Servers[Convert.ToInt32(context.Request.Parameters["serverid"])].Send(context.Request.Parameters["message"]); strResponse = "{ \"result\" : \"sent\" }"; break; case "get-yams-settings": DataSet dsSettings = Database.ReturnSettings(); JsonConvert.SerializeObject(dsSettings, Formatting.Indented); break; case "save-yams-settings": //Settings update foreach (Parameter p in param) { if (p.Name != "action") { Database.SaveSetting(p.Name, p.Value); } } break; case "get-server-settings": //retrieve all server settings as JSON List <string> listIPsMC = new List <string>(); IPHostEntry ipListenMC = Dns.GetHostEntry(""); foreach (IPAddress ipaddress in ipListenMC.AddressList) { if (ipaddress.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) { listIPsMC.Add(ipaddress.ToString()); } } intServerID = Convert.ToInt32(param["serverid"]); strResponse = "{ \"serverid\" : " + intServerID + "," + "\"title\" : \"" + Database.GetSetting(intServerID, "ServerTitle") + "\"," + "\"optimisations\" : \"" + Database.GetSetting(intServerID, "ServerEnableOptimisations") + "\"," + "\"memory\" : \"" + Database.GetSetting(intServerID, "ServerAssignedMemory") + "\"," + "\"autostart\" : \"" + Database.GetSetting(intServerID, "ServerAutoStart") + "\"," + "\"type\" : \"" + Database.GetSetting(intServerID, "ServerType") + "\"," + "\"motd\" : \"" + Database.GetSetting("motd", "MC", intServerID) + "\"," + "\"listen\" : \"" + Core.Servers[Convert.ToInt32(context.Request.Parameters["serverid"])].GetProperty("server-ip") + "\"," + "\"port\" : \"" + Core.Servers[Convert.ToInt32(context.Request.Parameters["serverid"])].GetProperty("server-port") + "\"," + "\"IPs\": " + JsonConvert.SerializeObject(listIPsMC, Formatting.None); strResponse += "}"; break; case "get-server-connections": intServerID = Convert.ToInt32(param["serverid"]); strResponse = "{ \"dnsname\" : \"" + Database.GetSetting("DNSName", "YAMS") + "\", " + "\"externalip\" : \"" + Networking.GetExternalIP().ToString() + "\", " + "\"mcport\" : " + Core.Servers[Convert.ToInt32(context.Request.Parameters["serverid"])].GetProperty("server-port") + ", " + "\"publicport\" : " + Database.GetSetting("PublicListenPort", "YAMS") + " }"; break; case "get-mc-settings": //retrieve all server settings as JSON intServerID = Convert.ToInt32(param["serverid"]); json = File.ReadAllText(YAMS.Core.RootFolder + @"\lib\properties.json"); jProps = JObject.Parse(json); strResponse = ""; foreach (JObject option in jProps["options"]) { strResponse += "<p><label for=\"" + (string)option["key"] + "\" title=\"" + (string)option["description"] + "\">" + (string)option["name"] + "</label>"; string strValue = Core.Servers[Convert.ToInt32(context.Request.Parameters["serverid"])].GetProperty((string)option["key"]); switch ((string)option["type"]) { case "string": strResponse += "<input type=\"text\" name=\"" + (string)option["key"] + "\" value=\"" + strValue + "\" />"; break; case "boolean": strResponse += "<select name=\"" + (string)option["key"] + "\">"; strResponse += "<option value=\"true\""; if (strValue == "true") { strResponse += " selected"; } strResponse += ">True</option>"; strResponse += "<option value=\"false\""; if (strValue == "false") { strResponse += " selected"; } strResponse += ">False</option>"; strResponse += "</select>"; break; case "integer": strResponse += "<select name=\"" + (string)option["key"] + "\">"; int intValue = Convert.ToInt32(strValue); for (var i = Convert.ToInt32((string)option["min"]); i <= Convert.ToInt32((string)option["max"]); i++) { strResponse += "<option value=\"" + i.ToString() + "\""; if (intValue == i) { strResponse += " selected"; } strResponse += ">" + i.ToString() + "</option>"; } strResponse += "</select>"; break; case "array": strResponse += "<select name=\"" + (string)option["key"] + "\">"; string strValues = (string)option["values"]; string[] elements = strValues.Split(','); foreach (string values in elements) { string[] options = values.Split('|'); strResponse += "<option value=\"" + options[0] + "\""; if (strValue == options[0]) { strResponse += " selected"; } strResponse += ">" + options[1] + "</option>"; } strResponse += "</select>"; break; } strResponse += "</p>"; } break; case "save-server-settings": intServerID = Convert.ToInt32(param["serverid"]); Database.UpdateServer(intServerID, "ServerTitle", param["title"]); Database.UpdateServer(intServerID, "ServerType", param["type"]); Database.UpdateServer(intServerID, "ServerAssignedMemory", Convert.ToInt32(param["memory"])); if (param["optimisations"] == "true") { Database.UpdateServer(intServerID, "ServerEnableOptimisations", true); } else { Database.UpdateServer(intServerID, "ServerEnableOptimisations", false); } if (param["autostart"] == "true") { Database.UpdateServer(intServerID, "ServerAutoStart", true); } else { Database.UpdateServer(intServerID, "ServerAutoStart", false); } Database.SaveSetting(intServerID, "motd", param["message"]); //Save the server's MC settings MCServer thisServer = Core.Servers[Convert.ToInt32(context.Request.Parameters["serverid"])]; thisServer.SaveProperty("server-ip", param["cfg_listen-ip"]); thisServer.SaveProperty("server-port", param["cfg_port"]); json = File.ReadAllText(YAMS.Core.RootFolder + @"\lib\properties.json"); jProps = JObject.Parse(json); strResponse = ""; foreach (JObject option in jProps["options"]) { thisServer.SaveProperty((string)option["key"], param[(string)option["key"]]); } if (thisServer.Running) { thisServer.RestartIfEmpty(); } break; case "get-config-file": List <string> listConfig = Core.Servers[Convert.ToInt32(context.Request.Parameters["serverid"])].ReadConfig(param["file"]); strResponse = JsonConvert.SerializeObject(listConfig, Formatting.Indented); break; case "get-server-whitelist": strResponse = "{ \"enabled\" : " + Core.Servers[Convert.ToInt32(context.Request.Parameters["serverid"])].GetProperty("white-list") + " }"; break; case "upload-world": var test = context.Request.Files["new-world"]; break; case "delete-world": bool bolRandomSeed = false; if (param["randomseed"] == "true") { bolRandomSeed = true; } Core.Servers[Convert.ToInt32(context.Request.Parameters["serverid"])].ClearWorld(bolRandomSeed); strResponse = "{ \"result\" : \"sent\" }"; break; case "remove-server": Core.Servers[Convert.ToInt32(context.Request.Parameters["serverid"])].Stop(); Core.Servers.Remove(Convert.ToInt32(context.Request.Parameters["serverid"])); Database.DeleteServer(Convert.ToInt32(context.Request.Parameters["serverid"])); strResponse = "{ \"result\" : \"removed\" }"; break; case "about": Dictionary <string, string> dicAbout = new Dictionary <string, string> { { "dll", FileVersionInfo.GetVersionInfo(Path.Combine(Core.RootFolder, "YAMS-Library.dll")).FileVersion }, { "svc", FileVersionInfo.GetVersionInfo(Path.Combine(Core.RootFolder, "YAMS-Service.exe")).FileVersion }, { "gui", FileVersionInfo.GetVersionInfo(Path.Combine(Core.RootFolder, "YAMS-Updater.exe")).FileVersion }, { "db", Database.GetSetting("DBSchema", "YAMS") } }; strResponse = JsonConvert.SerializeObject(dicAbout, Formatting.Indented); break; case "installed-apps": Dictionary <string, string> dicApps = new Dictionary <string, string> { { "bukkit", Database.GetSetting("BukkitInstalled", "YAMS") }, { "overviewer", Database.GetSetting("OverviewerInstalled", "YAMS") }, { "c10t", Database.GetSetting("C10tInstalled", "YAMS") }, { "biomeextractor", Database.GetSetting("BiomeExtractorInstalled", "YAMS") }, { "tectonicus", Database.GetSetting("TectonicusInstalled", "YAMS") }, { "nbtoolkit", Database.GetSetting("NBToolkitInstalled", "YAMS") } }; strResponse = JsonConvert.SerializeObject(dicApps, Formatting.Indented); break; case "update-apps": Database.SaveSetting("OverviewerInstalled", param["overviewer"]); Database.SaveSetting("C10tInstalled", param["c10t"]); Database.SaveSetting("BiomeExtractorInstalled", param["biomeextractor"]); Database.SaveSetting("BukkitInstalled", param["bukkit"]); strResponse = "done"; break; case "force-autoupdate": AutoUpdate.CheckUpdates(false, true); break; case "network-settings": List <string> listIPs = new List <string>(); IPHostEntry ipListen = Dns.GetHostEntry(""); foreach (IPAddress ipaddress in ipListen.AddressList) { if (ipaddress.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) { listIPs.Add(ipaddress.ToString()); } } Dictionary <string, string> dicNetwork = new Dictionary <string, string> { { "portForwarding", Database.GetSetting("EnablePortForwarding", "YAMS") }, { "openFirewall", Database.GetSetting("EnableOpenFirewall", "YAMS") }, { "publicEnable", Database.GetSetting("EnablePublicSite", "YAMS") }, { "adminPort", Database.GetSetting("AdminListenPort", "YAMS") }, { "publicPort", Database.GetSetting("PublicListenPort", "YAMS") }, { "currentIP", Database.GetSetting("YAMSListenIP", "YAMS") }, { "telnetEnable", Database.GetSetting("EnableTelnet", "YAMS") }, { "telnetPort", Database.GetSetting("TelnetPort", "YAMS") }, { "IPs", JsonConvert.SerializeObject(listIPs, Formatting.None) } }; strResponse = JsonConvert.SerializeObject(dicNetwork, Formatting.Indented).Replace(@"\", "").Replace("\"[", "[").Replace("]\"", "]"); break; case "save-network-settings": int intTester = 0; try { //Try to convert to integers to make sure something silly isn't put in. TODO: Javascript validation intTester = Convert.ToInt32(param["adminPort"]); intTester = Convert.ToInt32(param["publicPort"]); IPAddress ipTest = IPAddress.Parse(param["listenIp"]); } catch (Exception e) { YAMS.Database.AddLog("Invalid input on network settings", "web", "warn"); return(ProcessingResult.Abort); } Database.SaveSetting("EnablePortForwarding", param["portForwarding"]); Database.SaveSetting("EnableOpenFirewall", param["openFirewall"]); Database.SaveSetting("EnablePublicSite", param["publicEnable"]); Database.SaveSetting("AdminListenPort", param["adminPort"]); Database.SaveSetting("PublicListenPort", param["publicPort"]); Database.SaveSetting("YAMSListenIP", param["listenIp"]); Database.SaveSetting("EnableTelnet", param["telnetEnable"]); Database.SaveSetting("TelnetPort", param["telnetPort"]); Database.AddLog("Network settings have been saved, to apply changes a service restart is required. Please check they are correct before restarting", "web", "warn"); break; case "job-list": DataSet rdJobs = Database.ListJobs(); strResponse = JsonConvert.SerializeObject(rdJobs, Formatting.Indented); break; case "delete-job": string strJobID = param["jobid"]; Database.DeleteJob(strJobID); strResponse = "done"; break; case "add-job": intServerID = Convert.ToInt32(param["job-server"]); int intHour = Convert.ToInt32(param["job-hour"]); int intMinute = Convert.ToInt32(param["job-minute"]); Database.AddJob(param["job-type"], intHour, intMinute, param["job-params"], intServerID); break; case "logout": WebSession.Current.UserName = ""; break; case "newserver": var NewServer = new List <KeyValuePair <string, string> >(); NewServer.Add(new KeyValuePair <string, string>("motd", "Welcome to a YAMS server!")); NewServer.Add(new KeyValuePair <string, string>("server-ip", Networking.GetListenIP().ToString())); NewServer.Add(new KeyValuePair <string, string>("server-name", param["name"])); NewServer.Add(new KeyValuePair <string, string>("server-port", Networking.TcpPort.FindNextAvailablePort(25565).ToString())); Database.NewServerWeb(NewServer, param["name"], 1024); strResponse = "done"; break; case "updateDNS": Database.SaveSetting("DNSName", param["dns-name"]); Database.SaveSetting("DNSSecret", param["dns-secret"]); Database.SaveSetting("LastExternalIP", param["dns-external"]); strResponse = "done"; break; case "getDNS": strResponse = "{ \"name\":\"" + Database.GetSetting("DNSName", "YAMS") + "\", \"secret\": \"" + Database.GetSetting("DNSSecret", "YAMS") + "\", \"external\" : \"" + Networking.GetExternalIP().ToString() + "\" }"; break; case "backup-now": Backup.BackupNow(Core.Servers[Convert.ToInt32(param["serverid"])], param["title"]); strResponse = "{ \"result\" : \"sent\" }"; break; default: return(ProcessingResult.Abort); } context.Response.Reason = "Completed - YAMS"; context.Response.Connection.Type = ConnectionType.Close; byte[] buffer = Encoding.UTF8.GetBytes(strResponse); context.Response.Body.Write(buffer, 0, buffer.Length); } else { // not a post, so say bye bye! return(ProcessingResult.Abort); } return(ProcessingResult.SendResponse); } else if (context.Request.Uri.AbsoluteUri.Contains(@"/admin")) { if (WebSession.Current.UserName != "admin") { context.Response.Reason = "Completed - YAMS"; context.Response.Connection.Type = ConnectionType.Close; byte[] buffer = Encoding.UTF8.GetBytes(File.ReadAllText(YAMS.Core.RootFolder + @"\web\admin\login.html")); context.Response.Body.Write(buffer, 0, buffer.Length); return(ProcessingResult.SendResponse); } else { context.Response.Reason = "Completed - YAMS"; context.Response.Connection.Type = ConnectionType.Close; byte[] buffer = Encoding.UTF8.GetBytes(File.ReadAllText(YAMS.Core.RootFolder + @"\web\admin\index.html")); context.Response.Body.Write(buffer, 0, buffer.Length); return(ProcessingResult.SendResponse); } } else if (context.Request.Uri.AbsoluteUri.Contains(@"/login")) { //This is a login request, check it's legit string userName = context.Request.Form["strUsername"]; string password = context.Request.Form["strPassword"]; if (userName == "admin" && password == Database.GetSetting("AdminPassword", "YAMS")) { WebSession.Create(); WebSession.Current.UserName = "******"; context.Response.Redirect(@"/admin"); return(ProcessingResult.SendResponse); } else { context.Response.Reason = "Completed - YAMS"; context.Response.Connection.Type = ConnectionType.Close; byte[] buffer = Encoding.UTF8.GetBytes(File.ReadAllText(YAMS.Core.RootFolder + @"\web\admin\login.html")); context.Response.Body.Write(buffer, 0, buffer.Length); return(ProcessingResult.SendResponse); } } else if (context.Request.Uri.AbsoluteUri.Equals(@"/")) { context.Response.Redirect(@"/admin"); return(ProcessingResult.SendResponse); } else { return(ProcessingResult.Abort); } }
public override void ReadPacket(Networking.PacketData data) { throw new NotImplementedException(); }
public override void OnOwnershipTransferred(VRCPlayerApi player) { isOwner = Networking.IsOwner(gameObject); }
public bool StartupNetworkingClient(out Networking.IClient networkingClient, ref string error) { networkingClient = null; lock (this) { Thread.MemoryBarrier(); if (this.CurrentClient != null) { networkingClient = this.CurrentClient; return true; } else { try { this.CurrentClient = new Client(this.RemoteServerAddress, this.RemoteServerPort, this); } catch { return false; } Thread.MemoryBarrier(); networkingClient = this.CurrentClient; return true; } } }
void Start() { _networking = GameObject.Find("NetworkManager").GetComponent <Networking>(); }
public void NetworkRegisterToTimerService(Networking.ServerInstance instance, string startedFunction, string stoppedFunction, string updatedFunction, string calledFunction) { TimerService.RegisterClient (instance, startedFunction, stoppedFunction, updatedFunction, calledFunction); }
internal void ReceiveCommand(Networking.Commands.GameObjectCommand command) { throw new NotImplementedException(); }
public void Connect(string ipAddr) { theServer = Networking.ConnectToServer(StartUp, ipAddr); }
public void NetworkInstantiate(ulong ownerId, ulong startNetworkId, string name, Vector3 position, Quaternion rotation, int callbackId = 0) { lock (NetworkedBehaviorsMutex) { if (NetworkedBehaviors.ContainsKey(startNetworkId)) { return; } SimpleNetworkedMonoBehavior[] NetBehaviors = null; #if BARE_METAL NetBehaviors = new SimpleNetworkedMonoBehavior[behaviorsAndRefCount[name].Length]; for (int i = 0; i < NetBehaviors.Length; i++) { //if (CreateObject != null) // NetBehaviors[i] = CreateObject(name + "(Clone)(Child)" + i, behaviorsAndRefCount[name][i]); if (behaviorsAndRefCount[name][i] == typeof(SimpleNetworkedMonoBehavior).ToString() || behaviorsAndRefCount[name][i] == typeof(NetworkedMonoBehavior).ToString()) { NetBehaviors[i] = (SimpleNetworkedMonoBehavior)Activator.CreateInstance(typeof(SimpleNetworkedMonoBehavior).Assembly.GetType(behaviorsAndRefCount[name][i]), name, behaviorsAndRefCount[name][i]); } else { foreach (System.Reflection.Assembly assembly in AppDomain.CurrentDomain.GetAssemblies()) { if (assembly.FullName.Contains("ForgeBareMetalGame")) { NetBehaviors[i] = (SimpleNetworkedMonoBehavior)Activator.CreateInstance(assembly.GetType(behaviorsAndRefCount[name][i]), name, behaviorsAndRefCount[name][i]); break; } } } } #else GameObject o = Instance.PullObject((ownerId != OwningNetWorker.Me.NetworkId ? name + "(Remote)" : name), name); NetBehaviors = GetAllSimpleMonoBehaviors(o); if (NetBehaviors.Length == 0) { Debug.LogError("Instantiating on the Network is only for objects that derive from BaseNetworkedMonoBehavior, " + "if object does not need to be serialized consider using a RPC with GameObject.Instantiate"); return; } GameObject tmp = (Instantiate(o, position, rotation) as GameObject); NetBehaviors = GetAllSimpleMonoBehaviors(tmp); #endif while (ObjectCounter < startNetworkId + (ulong)NetBehaviors.Length - 1) { GenerateUniqueId(); } for (int i = 0; i < NetBehaviors.Length; i++) { NetBehaviors[i].Setup(OwningNetWorker, OwningNetWorker.Uniqueidentifier == ownerId, startNetworkId + (ulong)i, ownerId); } #if !BARE_METAL if (ownerId == OwningNetWorker.Me.NetworkId) { Networking.RunInstantiateCallback(callbackId, NetBehaviors[0].GetComponent <SimpleNetworkedMonoBehavior>()); } #else if (ownerId == OwningNetWorker.Me.NetworkId) { Networking.RunInstantiateCallback(callbackId, NetBehaviors[0]); } #endif } }
void server_ReceiveUDPData(byte packetType, Networking.BinaryWrapper reader, System.Net.IPEndPoint endPoint) { textBox2.Text += "(DEBUG: Server: Received UDP "+packetType.ToString()+")"+Environment.NewLine; }
void iRTVOConnection_ProcessMessage(Networking.iRTVORemoteEvent e) { if (e.Handled) return; try { e.Handled = true; e.Forward = true; // by default Forward all events Application.Current.Dispatcher.BeginInvoke(new Action(() => { switch (e.Message.Command.ToUpperInvariant()) { case "CHGSESSION": SharedData.OverlaySession = Int32.Parse(e.Message.Arguments[0]); foreach (var item in comboBoxSession.Items) { ComboBoxItem cbItem = item as ComboBoxItem; if (SharedData.OverlaySession == SharedData.Sessions.CurrentSession.Id) { if (cbItem.Content.ToString() == "current") { cbItem.IsSelected = true; break; } } else { if (cbItem.Content.ToString().StartsWith(e.Message.Arguments[0] + ":")) { cbItem.IsSelected = true; break; } } } break; case "BUTTON": RaiseThemeButtonEvent(e.Message.Arguments[0], e.Message.Source); break; case "RESET": this.bReset.RaiseEvent(new RoutedEventArgs(Button.ClickEvent, e.Message.Source)); break; case "HIDE": this.hideButton.RaiseEvent(new RoutedEventArgs(Button.ClickEvent, e.Message.Source)); break; case "CAMERA": e.Forward = false; // done by api code RemoteCamNum = Int32.Parse(e.Message.Arguments[0]); if (SharedData.remoteClientFollow || iRTVOConnection.isServer) { simulationAPI.SwitchCamera(0, RemoteCamNum); } break; case "DRIVER": e.Forward = false; // done by api code RemoteDriverNum = Int32.Parse(e.Message.Arguments[0]); if (SharedData.remoteClientFollow || iRTVOConnection.isServer) { simulationAPI.SwitchCamera(RemoteDriverNum, 0); } break; case "SWITCH": e.Forward = false; // done by api code RemoteDriverNum = Int32.Parse(e.Message.Arguments[0]); RemoteCamNum = Int32.Parse(e.Message.Arguments[1]); if (SharedData.remoteClientFollow || iRTVOConnection.isServer) { simulationAPI.SwitchCamera(RemoteDriverNum, RemoteCamNum); SharedData.updateControls = true; } break; case "REWIND": if (!SharedData.remoteClientSkipRewind) { simulationAPI.ReplaySetPlayPosition(ReplayPositionModeTypes.Begin, ((Int32)simulationAPI.GetData("ReplayFrameNum") - Int32.Parse(e.Message.Arguments[0]))); SetPlaySpeed(Int32.Parse(e.Message.Arguments[1])); SharedData.updateControls = true; SharedData.triggers.Push(TriggerTypes.replay); } break; case "LIVE": if (!SharedData.remoteClientSkipRewind) { simulationAPI.ReplaySearch(ReplaySearchModeTypes.ToEnd, 0); simulationAPI.Play(); SharedData.updateControls = true; SharedData.triggers.Push(TriggerTypes.live); } break; case "PLAY": if (!SharedData.remoteClientSkipRewind) { simulationAPI.Play(); SharedData.updateControls = true; } break; case "PAUSE": if (!SharedData.remoteClientSkipRewind) { simulationAPI.Pause(); SharedData.updateControls = true; } break; case "PLAYSPEED": if (!SharedData.remoteClientSkipRewind) { simulationAPI.ReplaySetPlaySpeed(Int32.Parse(e.Message.Arguments[0]), Int32.Parse(e.Message.Arguments[1])); SharedData.updateControls = true; } break; case "SENDCAMS": e.Forward = false; // not needed by others if (SharedData.Camera.Groups.Count > 0) { foreach (CameraGroup cam in SharedData.Camera.Groups) { iRTVOConnection.SendMessage(e.Message.Source, "ADDCAM", cam.Id, cam.Name); } } break; case "SENDDRIVERS": e.Forward = false; // not needed by others if (SharedData.Drivers.Count > 0) { foreach (DriverInfo driver in SharedData.Drivers) { iRTVOConnection.SendMessage(e.Message.Source, "ADDDRIVER", driver.CarIdx, driver.Name); } } break; case "SENDBUTTONS": e.Forward = false; // not needed by others foreach (var button in buttons) { if (!String.IsNullOrEmpty(Convert.ToString(button.Content))) iRTVOConnection.SendMessage(e.Message.Source, "ADDBUTTON", button.Name, button.Content); } break; default: logger.Warn("Caught odd command: {0}", e.Message); break; } SharedData.remoteClientSkipRewind = false; })); } catch (Exception ex) { logger.Error("Problem executing command '{0}' : {1}", e.Message, ex.ToString()); e.Cancel = true; // Disconnect offending Client/Server } }
void Start() { _timeSinceLastSpawn = 0f; _networking = GameObject.Find("NetworkManager").GetComponent <Networking>(); _spawners = GameObject.FindGameObjectsWithTag("PowerupSpawner"); }
public bool StartupNetworkingHost(out Networking.IHost networkingHost, ref string error) { networkingHost = null; lock (this) { Thread.MemoryBarrier(); if (this.CurrentHost == null || this.CurrentHost.IsShutdown) { try { this.CurrentHost = new Host(this); } catch { return false; } } else { ((Host)this.CurrentHost).ReleaseRegisteredHandlers(); } Thread.MemoryBarrier(); networkingHost = this.CurrentHost; } return true; }
public void player_name(string name) { Networking.Send(theServer, name); }