OnClientAuth
OxideCarbonPlayerCalled when client auth occurs.
void OnClientAuth(Network.Connection connection)Работает — метод игры в этой сборке тот же, под который написан хук.
Параметры
- connection
- Network.Connection
Возвращаемое значение
voidВозвращаемое значение игнорируется — хук только уведомляет.
Пример
private void OnClientAuth(Network.Connection connection)
{
Puts("OnClientAuth");
}Работает и в Oxide, и в Carbon: Carbon загружает плагины Oxide без изменений.
Место встраивания
Rust.opj (Oxide)
void ServerMgr.OnGiveUserInformation(Network.Message)
Передаёт: Network.Connection connection
РаботаетReturnBehavior: ContinueArgumentBehavior: UseArgumentString (a0.connection)Assembly-CSharp.dll
Где вызывается (код игры этой ветки)
// …
return;
}
string text = string.Empty;
string text2 = BuildInfo.Current?.Scm?.Branch ?? string.Empty;
if (packet.read.Unread >= 4)
{
text = packet.read.String(128);
}
Interface.CallHook("OnClientAuth", packet.connection);
if (!IsClientBranchAllowed(text2, text))
{
if (!DeveloperList.Contains(packet.connection.userid))
{
DebugEx.Log("Kicking " + packet.connection?.ToString() + " - their branch is '" + text + "' not '" + text2 + "'");
Net.sv.Kick(packet.connection, "Wrong Client Branch: Staging clients can't join release servers!");
return;
}
// …Источники: Rust.opj из OxideMod/Oxide.Rust (MIT) и метаданные хуков документации Carbon (MIT). Код методов — декомпиляция сервера этой ветки.