summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-01-07 23:11:14 +0100
committermetamuffin <metamuffin@disroot.org>2025-01-07 23:11:14 +0100
commita617f060f80d6f2b544b7cfda59da2ce5ce758f8 (patch)
tree8780930285b356a3da5bad65cece1b5d1b235abb /server
parent02d65e6b7ce7a0e6bae054bd321c68dda1cb0de3 (diff)
downloadweareserver-a617f060f80d6f2b544b7cfda59da2ce5ce758f8.tar
weareserver-a617f060f80d6f2b544b7cfda59da2ce5ce758f8.tar.bz2
weareserver-a617f060f80d6f2b544b7cfda59da2ce5ce758f8.tar.zst
prefab index
Diffstat (limited to 'server')
-rw-r--r--server/src/main.rs14
1 files changed, 11 insertions, 3 deletions
diff --git a/server/src/main.rs b/server/src/main.rs
index 03ebb82..fc8583b 100644
--- a/server/src/main.rs
+++ b/server/src/main.rs
@@ -68,13 +68,21 @@ impl State {
prefab_index: PrefabIndex::default(),
})
}
+ pub fn prime_client(&self, conn: u128, net: &ServerNetwork) -> Result<()> {
+ net.broadcast(
+ Packet::PrefabIndex(self.store.set(&self.prefab_index)?),
+ true,
+ );
+ for p in self.tree.prime_client() {
+ net.send(conn, p, true);
+ }
+ Ok(())
+ }
pub fn handle_packet(&mut self, conn: u128, packet: Packet, net: &ServerNetwork) -> Result<()> {
self.tree.packet(&packet);
match packet {
Packet::Connect(_) => {
- for p in self.tree.prime_client() {
- net.send(conn, p, true);
- }
+ self.prime_client(conn, net)?;
}
Packet::Disconnect => {}
Packet::RequestResource(resource) => {