diff options
Diffstat (limited to 'src/server/network.rs')
-rw-r--r-- | src/server/network.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/server/network.rs b/src/server/network.rs new file mode 100644 index 0000000..0beead7 --- /dev/null +++ b/src/server/network.rs @@ -0,0 +1,31 @@ +use crate::protocol::*; +use crate::shared::*; +use bevy::prelude::*; +use lightyear::prelude::server::NetConfig; +use lightyear::prelude::*; +use lightyear::server::config::*; +use lightyear::server::plugin::PluginConfig; +use lightyear::server::plugin::ServerPlugin; + +pub struct NetworkPlugin { + pub transport: TransportConfig, +} + +impl Plugin for NetworkPlugin { + fn build(&self, app: &mut App) { + app.add_plugins(ServerPlugin::new(PluginConfig::new( + ServerConfig { + net: [NetConfig::Netcode { + config: NetcodeConfig::default() + .with_protocol_id(PROTOCOL_ID) + .with_key(KEY), + io: IoConfig::from_transport(self.transport.clone()), + }] + .to_vec(), + ping: PingConfig::default(), + ..Default::default() + }, + protocol(), + ))); + } +} |