Rust-плагины на uMod (C#): хуки, данные и производительность
Плагин как набор реакций на события
В uMod (Oxide) плагин для Rust - это класс на C#, который подписывается на хуки сервера: игрок зашёл, выстрелил, открыл ящик. Сервер сам вызывает ваши методы.
[Info("Greeter", "VladOfSky", "1.0.0")]
class Greeter : RustPlugin
{
void OnPlayerConnected(BasePlayer player)
{
PrintToChat(player, "Добро пожаловать!");
}
}
Где теряется производительность
- Тяжёлая логика в частых хуках (
OnEntityTakeDamageзовётся очень часто) - держите её лёгкой. - Запись данных каждый тик - копите изменения и сохраняйте по таймеру.
- Поиск сущностей в радиусе в цикле - кэшируйте результаты.
Данные храните через Interface.Oxide.DataFileSystem (JSON), а конфиг - отдельно. Сервер на 200+ игроков прощает многое, но не лишнюю работу в горячих хуках.
Чтобы оставить комментарий, войдите через Discord.
Войти через Discord