- Client - Server "Proxy"
- Packet Serialization(JSON formatted)
- Packet Parsers for packets that does not contain Protocol Buffers
- Basic Entity Handler
- Steam\steamapps\common\Rust\RustClient_Data\Managed\Rust.Data.dll
- Steam\steamapps\common\Rust\RustClient_Data\Managed\UnityEngine.dll
- Steam\steamapps\common\Rust\RustClient_Data\Plugins\RakNet.dll
- This is not a packet forger, and never will be.
- This product is meant for educational purposes only.
- This is work in progress and subject to change.
- Void where prohibited.
- No other warranty expressed or implied.
- Some assembly required.
- Batteries not included.
- Use only as directed.
- Do not use while operating a motor vehicle or heavy equipment.
Advanced Users: Have a look at this
Example for Beginners(noobs)
using System;
using Rust_Interceptor;
using Rust_Interceptor.Data;
class Program : SimpleInterceptor {
public Program() : base() {
Interceptor.AddPacketsToFilter(Packet.Rust.ConsoleCommand, Packet.Rust.ConsoleMessage); // Filter packets, you will only receive the packets defined in this function, remove this line to receive all packets
Interceptor.ClientPackets = true; // Receive client packets, in this example you would receive both Server and Client Packets
Interceptor.CommandPrefix = "RI."; // Command Prefix for "sv" command, in this example you could send a command to this program with "sv RI.randomValue 24" and receive OnCommand("randomValue 24")
Interceptor.Start();
}
public override void OnCommand(string command) {
if (command.StartsWith("randomValue")) {
var str = command.Split(' ');
Console.WriteLine("{0} = {1}", str[0], int.Parse(str[1]));
}
}
public override void OnPacket(Packet packet) {
switch (packet.rustID) {
case Packet.Rust.ConsoleMessage:
ConsoleMessage message = new ConsoleMessage(packet);
Console.WriteLine("Console Message from Server: {0}", message.Message);
break;
}
}
public override void OnEntity(Entity entity) {
if (entity.IsPlayer)
if (entity.IsLocalPlayer) Console.WriteLine("OMG is it really you {0} :O", entity.Data.basePlayer.name);
else Console.WriteLine("Meh, you're not that special {0}", entity.Data.basePlayer.name);
}
public override void OnEntityDestroy(EntityDestroy destroyInfo) {
Console.WriteLine("Entity with UID({0}) got destroyed :'(", destroyInfo.UID);
}
private static void Main(string[] args) {
new Program();
}
}
Do not donate if you feel you need to, donate if you want to :)
Paypal.me: paypal.me/LasseSkogland
Bitcoin: 3BYt2fDDd1kQUAWVKR51o9fxcU4eggc8Xq