public void StartHosting() { CloseClientConnection(); _networkServerConnection = new NetworkServerConnection("127.0.0.1"); _networkServerConnection.Start(); }
private void ItemAdd(string parameters) { string text = parameters; parameters = parameters.ToLowerInvariant(); string playername = parameters; string[] commandPars = null; if (parameters.Contains(" ")) { int num = parameters.IndexOf(' '); playername = parameters.Substring(0, num); commandPars = parameters.Substring(parameters.IndexOf(' ') + 1, parameters.Length - num - 1).Split(' '); } else { //Dump out here, need more params global::Console.LogTargetFunction("itemadd playername itemid amount [metavalue]", ConsoleMessageType.Trace); return; } if (commandPars.Length < 2) { //Dump out here, need more params global::Console.LogTargetFunction("itemadd playername itemid amount [metavalue]", ConsoleMessageType.Trace); return; } int id = Convert.ToInt32(commandPars[0]); int ammount = Convert.ToInt32(commandPars[1]); bool item = false; ItemBase itemStack = null; if (ItemEntry.mEntriesById[id] != null) { //its an item itemStack = new ItemStack(id, ammount); item = true; } if (item) { int count = NetworkManager.instance.mServerThread.connections.Count; for (int i = 0; i < count; i++) { NetworkServerConnection networkServerConnection = NetworkManager.instance.mServerThread.connections[i]; if (networkServerConnection.mState == eNetworkConnectionState.Playing) { if (networkServerConnection.mPlayer.mUserName.ToLower() == playername.ToLower()) { if (networkServerConnection.mPlayer.mInventory.CanFit(itemStack)) { networkServerConnection.mPlayer.mInventory.AddItem(itemStack); if (itemStack.mType != ItemType.ItemCubeStack) { global::Console.LogTargetFunction("Gave " + (itemStack as ItemStack).mnAmount + " of " + ItemEntry.mEntriesById[itemStack.mnItemID].Name + " to " + playername, ConsoleMessageType.Trace); } return; } else { global::Console.LogTargetFunction("Inventory full", ConsoleMessageType.Trace); return; } } } } global::Console.LogTargetFunction("Player Not Found", ConsoleMessageType.Trace); return; } else { global::Console.LogTargetFunction("Item Not Found", ConsoleMessageType.Trace); return; } }
private void CloseServerConnection() { _networkServerConnection?.StopServer(); _networkServerConnection = null; }
private void CubeAdd(string parameters) { string text = parameters; parameters = parameters.ToLowerInvariant(); string playername = parameters; string[] commandPars = null; if (parameters.Contains(" ")) { int num = parameters.IndexOf(' '); playername = parameters.Substring(0, num); commandPars = parameters.Substring(parameters.IndexOf(' ') + 1, parameters.Length - num - 1).Split(' '); } else { //Dump out here, need more params global::Console.LogTargetFunction("cubeadd playername cubeid amount [metavalue]", ConsoleMessageType.Trace); return; } if (commandPars.Length < 2) { //Dump out here, need more params global::Console.LogTargetFunction("cubeadd playername cubeid amount [metavalue]", ConsoleMessageType.Trace); return; } int id = Convert.ToInt32(commandPars[0]); int ammount = Convert.ToInt32(commandPars[1]); bool cube = false; ItemBase itemStack = null; ushort cubeid = Convert.ToUInt16(id); ushort cubeValue = TerrainData.GetDefaultValue(cubeid); if (commandPars.Length > 2) { cubeValue = Convert.ToUInt16(commandPars[2]); } itemStack = new ItemCubeStack(cubeid, cubeValue, ammount); if (itemStack != null) { cube = true; } if (cube) { int count = NetworkManager.instance.mServerThread.connections.Count; for (int i = 0; i < count; i++) { NetworkServerConnection networkServerConnection = NetworkManager.instance.mServerThread.connections[i]; if (networkServerConnection.mState == eNetworkConnectionState.Playing) { if (networkServerConnection.mPlayer.mUserName.ToLower() == playername.ToLower()) { if (networkServerConnection.mPlayer.mInventory.CanFit(itemStack)) { networkServerConnection.mPlayer.mInventory.AddItem(itemStack); if (itemStack.mType == ItemType.ItemCubeStack) { var itemCubeStack = itemStack as ItemCubeStack; global::Console.LogTargetFunction("Gave " + itemCubeStack.mnAmount + " of " + TerrainData.GetNameForValue(itemCubeStack.mCubeType, itemCubeStack.mCubeValue) + " to " + playername, ConsoleMessageType.Trace); } return; } else { global::Console.LogTargetFunction("Inventory full", ConsoleMessageType.Trace); return; } } } } global::Console.LogTargetFunction("Player Not Found", ConsoleMessageType.Trace); return; } else { global::Console.LogTargetFunction("Cube Not Found", ConsoleMessageType.Trace); return; } }