43 lines
1.1 KiB
C#
43 lines
1.1 KiB
C#
using Ragon.Server;
|
|
using Ragon.Server.Lobby;
|
|
using Ragon.Server.Plugin;
|
|
using Ragon.Server.Time;
|
|
|
|
namespace Ragon.Relay
|
|
{
|
|
public class RelayServerPlugin : BaseServerPlugin
|
|
{
|
|
private RelayConfiguration _relayConfiguration;
|
|
private RagonScheduler _scheduler;
|
|
private RagonConnectionRegistry _connectionRegistry;
|
|
private IRagonLobby _lobby;
|
|
private Reporter _reporter;
|
|
|
|
public RelayServerPlugin(RelayConfiguration config)
|
|
{
|
|
_relayConfiguration = config;
|
|
}
|
|
|
|
public override void OnAttached(IRagonServer server)
|
|
{
|
|
base.OnAttached(server);
|
|
|
|
_lobby = server.Lobby;
|
|
_connectionRegistry = server.ConnectionRegistry;
|
|
_scheduler = server.Scheduler;
|
|
_reporter = new Reporter(_relayConfiguration, server, "127.0.0.1", 5000);
|
|
|
|
server.Scheduler.Run(new RagonActionTimer(() => _reporter.Done(), 1, -1));
|
|
}
|
|
|
|
public override bool OnCommand(string command, string payload)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
public override IRoomPlugin CreateRoomPlugin(RoomInformation information)
|
|
{
|
|
return new RelayRoomPlugin();
|
|
}
|
|
}
|
|
} |