Jump to content

possible bug causing players to get kicked

Pending 2.9.97

MrLiquid
MrLiquid

Posted

Could StackModifier be the cause?

Player was disconnected! (Kicked: RPC Error in DoPlace)

Planner.DoPlacement

That method is called from Rust’s DoPlace RPC. If the replacement throws an exception, Rust automatically disconnects the player with:

Kicked: RPC Error in DoPlace

 

In StackModifier.cs, lines 2530–2598:

[AutoPatch] [HarmonyPatch(typeof(Planner), nameof(Planner.DoPlacement))] internal class Planner_DoPlacement_Patch

The prefix then replaces the original method entirely:

static bool Prefix( Planner __instance, Construction.Target placement, Construction component, ref GameObject __result)

Because it always finishes with:

return false;

Client sends DoPlace RPC

Planner.DoPlace processes it

Planner.DoPlacement is called

StackModifier Harmony prefix executes

Unhandled exception

Rust reports "RPC Error in DoPlace"

Player is kicked

Normal Oxide hook exceptions are generally caught and logged as Failed to call hook. A Harmony prefix running inside the RPC is much more likely to escape into Rust’s RPC error handling.

 

Khan

Posted (edited)

That can actually be triggered by any plugin because I harmony patch the vanilla method in general.

The only problem is I have no way to track down the plugin causing it.

I suggest looking at any plugin that messes with building in general like Bgrade plugins auto-upgrade, object stacking, etc 


I do not have any problems building with my Bgrade plugin or with vanilla. 

Edited by Khan

About Us

Codefling is the largest marketplace for plugins, maps, tools, and more, making it easy for customers to discover new content and for creators to monetize their work.

Downloads
2.6m
Total downloads
Customers
11.4k
Customers served
Files Sold
163.5k
Total sales
Payments
3.5m
Processed total
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.