Полезная тема для будущих разработчиков
Rust Hooks
- Called when a plugin is being initialized
- Other plugins may or may not be present, dependant on load order
- No return behavior
CSS:
void Init()
{
Puts("Init works!");
}
- Called when a server restart is being cancelled
- Returning a non-null value overrides default behavior
CSS:
object OnServerRestartInterrupt()
{
Puts("OnServerRestartInterrupt works!");
return null;
}
- Useful for saving something / etc on server shutdown
- No return behavior
CSS:
void OnServerShutdown()
{
Puts("OnServerShutdown works!");
}
- Useful for intercepting commands before they get to their intended target
- Returning a non-null value overrides default behavior
CSS:
object OnServerCommand(ConsoleSystem.Arg arg)
{
Puts("OnServerCommand works!");
return null;
}
- Useful for intercepting server messages before they get to their intended target
- Returning a non-null value overrides default behavior
CSS:
object OnMessagePlayer(string message, BasePlayer player)
{
Puts("OnMessagePlayer works!");
return null;
}
- Called each frame
- No return behavior
CSS:
void OnFrame()
{
Puts("OnFrame works!");
}
- Called after all steam information for the server has has been updated
- No return behavior
CSS:
void OnServerInformationUpdated()
{
Puts("OnServerInformationUpdated works!");
}
- Called when an RCON command is run
- No return behavior
CSS:
void OnRconCommand(IPAddress ip, string command, string[] args)
{
Puts("OnRconCommand works!");
}
- Called when a new RCON connection is opened
- Returning a non-null value overrides default behavior
CSS:
object OnRconConnection(IPAddress ip)
{
Puts("OnRconConnection works!");
return null;
}
- Called when any plugin has been loaded
- No return behavior
- Not to be confused with Loaded
CSS:
void OnPluginLoaded(Plugin plugin)
{
Puts($"Plugin '{plugin.Name}' has been loaded");
}
- Called when a new savefile is created (usually when map has wiped)
- No return behavior
CSS:
void OnNewSave(string filename)
{
Puts("OnNewSave works!");
}
- Called when a save file is loaded
- Returning a non-null value overrides default behavior
CSS:
object OnSaveLoad(Dictionary<BaseEntity, ProtoBuf.Entity> entities)
{
Puts("OnSaveLoad works!");
return null;
}
- Called when any plugin has been unloaded
- No return behavior
- Not to be confused with Unload
CSS:
void OnPluginUnloaded(Plugin plugin)
{
Puts($"Plugin '{plugin.Name}' has been unloaded");
}
- Called before a SERVER message is sent to a player
- Return a non-null value to stop message from being sent
CSS:
void OnPluginUnloaded(Plugin plugin)
{
Puts($"Plugin '{plugin.Name}' has been unloaded");
}
- Called after the server startup has been completed and is awaiting connections
- Also called for plugins that are hotloaded while the server is already started running
- Boolean parameter, false if called on plugin hotload and true if called on server initialization
- No return behavior
CSS:
void OnServerInitialized(bool initial)
{
Puts("OnServerInitialized works!");
}
- Called every tick (defined by the tick rate of the server)
- For better performance, avoid using heavy calculations in this hook.
- No return behavior
CSS:
void OnTick()
{
Puts("OnTick works!");
}
- Called before the server saves
- No return behavior
CSS:
void OnServerSave()
{
Puts("OnServerSave works!");
}