Skip to content

Commit

Permalink
V0.5.1 - Switched from TCPClient to Socket + Fixed Bugs
Browse files Browse the repository at this point in the history
  • Loading branch information
AdornedJoker committed Dec 26, 2024
1 parent 6057c74 commit 3bebb85
Show file tree
Hide file tree
Showing 34 changed files with 182 additions and 151 deletions.
10 changes: 5 additions & 5 deletions NetClassic/Commands/DeOpFunction.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ namespace NetClassic
{
public class DeOpFunction : Commands
{
public async Task HandleCommand(string adminCommand, NetworkStream stream)
public async Task HandleCommand(string adminCommand, Socket stream)
{
string getName = adminCommand.Substring(4).TrimStart();
int userID = 0;
Expand All @@ -22,17 +22,17 @@ public async Task HandleCommand(string adminCommand, NetworkStream stream)
}
}

NetworkStream otherUserStream = Globals.clients[userID].stream;
Socket otherUserStream = Globals.clients[userID].playerClient;

UpdateUserType packet = new UpdateUserType();

await otherUserStream.WriteAsync(packet.SendPacket(0x00));
await otherUserStream.WriteAsync(GameMessage.SendPacket(255, "You're no longer op!"));
await otherUserStream.SendAsync(packet.SendPacket(0x00));
await otherUserStream.SendAsync(GameMessage.SendPacket(255, "You're no longer op!"));
Globals.clients[userID].UserType = 0x00;
}
else
{
await stream.WriteAsync(GameMessage.SendPacket(255, "Unknown command!"));
await stream.SendAsync(GameMessage.SendPacket(255, "Unknown command!"));
}
}
}
Expand Down
10 changes: 5 additions & 5 deletions NetClassic/Commands/KickFunction.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ namespace NetClassic
{
public class KickFunction : Commands
{
public async Task HandleCommand(string adminCommand, NetworkStream stream)
public async Task HandleCommand(string adminCommand, Socket stream)
{
string getName = adminCommand.Substring(4).TrimStart();
int userID = 0;
Expand All @@ -22,15 +22,15 @@ public async Task HandleCommand(string adminCommand, NetworkStream stream)
}
}

NetworkStream otherUserStream = Globals.clients[userID].stream;
Socket otherUserPlayer = Globals.clients[userID].playerClient;

DisconnectPlayer disconnectPacket = new DisconnectPlayer();
await otherUserStream.WriteAsync(disconnectPacket.SendPacket("You were kicked"));
Globals.clients[userID].Disconnect();
await otherUserPlayer.SendAsync(disconnectPacket.SendPacket("You were kicked"));
_ = Globals.clients[userID].Disconnect();
}
else
{
await stream.WriteAsync(GameMessage.SendPacket(255, "Unknown command!"));
await stream.SendAsync(GameMessage.SendPacket(255, "Unknown command!"));
}
}
}
Expand Down
10 changes: 5 additions & 5 deletions NetClassic/Commands/OpFunction.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ namespace NetClassic
{
public class OpFunction : Commands
{
public async Task HandleCommand(string adminCommand, NetworkStream stream)
public async Task HandleCommand(string adminCommand, Socket stream)
{
string getName = adminCommand.Substring(2).TrimStart();
int userID = 0;
Expand All @@ -22,17 +22,17 @@ public async Task HandleCommand(string adminCommand, NetworkStream stream)
}
}

NetworkStream otherUserStream = Globals.clients[userID].stream;
Socket otherUserStream = Globals.clients[userID].playerClient;

UpdateUserType packet = new UpdateUserType();

await otherUserStream.WriteAsync(packet.SendPacket(0x64));
await otherUserStream.WriteAsync(GameMessage.SendPacket(255, "You're now op!"));
await otherUserStream.SendAsync(packet.SendPacket(0x64));
await otherUserStream.SendAsync(GameMessage.SendPacket(255, "You're now op!"));
Globals.clients[userID].UserType = 0x64;
}
else
{
await stream.WriteAsync(GameMessage.SendPacket(255, "Unknown command!"));
await stream.SendAsync(GameMessage.SendPacket(255, "Unknown command!"));
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions NetClassic/Packets/03LevelDataChunk.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ namespace NetClassic
{
public class LevelDataChunk : Packets
{
public async Task SendPacket(NetworkStream stream)
public async Task SendPacket(Socket stream)
{
byte[] compressedData;
using (MemoryStream compressedStream = new MemoryStream())
Expand Down Expand Up @@ -45,7 +45,7 @@ public async Task SendPacket(NetworkStream stream)

packet.WriteByte((byte)Math.Ceiling((double)i * 100 / compressedData.Length));

await stream.WriteAsync(packet.ToArray());
await stream.SendAsync(packet.ToArray());
}
}
}
Expand Down
8 changes: 8 additions & 0 deletions NetClassic/Packets/05SetBlock.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,20 @@ public byte[] SendPacket(short X, short Y, short Z, byte BlockType, byte Mode)
{
ms.WriteByte(0);
Globals.world.BlockData[(Y * Globals.world.SizeZ + Z) * Globals.world.SizeX + X] = 0;
while(Globals.world.BlockData[(Y * Globals.world.SizeZ + Z) * Globals.world.SizeX + X] != 0)
{
Globals.world.BlockData[(Y * Globals.world.SizeZ + Z) * Globals.world.SizeX + X] = 0;
}
}

if (Mode == 0x01)
{
ms.WriteByte(BlockType);
Globals.world.BlockData[(Y * Globals.world.SizeZ + Z) * Globals.world.SizeX + X] = BlockType;
while(Globals.world.BlockData[(Y * Globals.world.SizeZ + Z) * Globals.world.SizeX + X] != BlockType)
{
Globals.world.BlockData[(Y * Globals.world.SizeZ + Z) * Globals.world.SizeX + X] = BlockType;
}
}
return ms.ToArray();
}
Expand Down
Loading

0 comments on commit 3bebb85

Please sign in to comment.