aboutsummaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-10-11 22:53:52 +0200
committermetamuffin <metamuffin@disroot.org>2025-10-11 22:53:52 +0200
commit6c72cc28bcbad679d66fa3eb22b16b9a745d85c6 (patch)
tree1fe621563d3eb1a734492941469d75dbc4c9f526 /server
parent516546c3d20e1715370073acf2e6b8114351f8e9 (diff)
downloadhurrycurry-6c72cc28bcbad679d66fa3eb22b16b9a745d85c6.tar
hurrycurry-6c72cc28bcbad679d66fa3eb22b16b9a745d85c6.tar.bz2
hurrycurry-6c72cc28bcbad679d66fa3eb22b16b9a745d85c6.tar.zst
even better server logging
Diffstat (limited to 'server')
-rw-r--r--server/protocol/src/helpers.rs17
-rw-r--r--server/src/interaction.rs6
-rw-r--r--server/src/lib.rs2
-rw-r--r--server/src/server.rs32
4 files changed, 32 insertions, 25 deletions
diff --git a/server/protocol/src/helpers.rs b/server/protocol/src/helpers.rs
index 098767b5..31e68d02 100644
--- a/server/protocol/src/helpers.rs
+++ b/server/protocol/src/helpers.rs
@@ -105,29 +105,34 @@ impl Recipe {
impl Display for ItemLocation {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
- ItemLocation::Tile(pos) => write!(f, "tile({pos})"),
- ItemLocation::Player(PlayerID(id), hand) => write!(f, "{id}-{hand}"),
+ ItemLocation::Tile(pos) => write!(f, "tile({}, {})", pos.x, pos.y),
+ ItemLocation::Player(player, hand) => write!(f, "{player}-{hand}"),
}
}
}
impl Display for Hand {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
- write!(f, "hand({})", self.0)
+ write!(f, "hand#{}", self.0)
}
}
impl Display for PlayerID {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
- write!(f, "player({})", self.0)
+ write!(f, "player#{}", self.0)
}
}
impl Display for TileIndex {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
- write!(f, "tile({})", self.0)
+ write!(f, "tile#{}", self.0)
}
}
impl Display for ItemIndex {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
- write!(f, "item({})", self.0)
+ write!(f, "item#{}", self.0)
+ }
+}
+impl Display for RecipeIndex {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ write!(f, "recipe#{}", self.0)
}
}
diff --git a/server/src/interaction.rs b/server/src/interaction.rs
index 5dd7099b..38c1d7fb 100644
--- a/server/src/interaction.rs
+++ b/server/src/interaction.rs
@@ -91,7 +91,7 @@ pub fn interact(
&& item.kind == *input
&& item.active.is_none()
{
- info!("start active recipe {ri:?}");
+ info!("start active {ri}");
item.active = Some(Involvement {
player,
recipe: ri,
@@ -106,7 +106,7 @@ pub fn interact(
&& item.active.is_none()
{
let mut item = other.take().unwrap();
- info!("start active recipe {ri:?}");
+ info!("start active {ri}");
item.active = Some(Involvement {
player,
recipe: ri,
@@ -141,7 +141,7 @@ pub fn interact(
let ok = inputs[0] == on_tile && inputs[1] == in_hand;
let ok_rev = inputs[1] == on_tile && inputs[0] == in_hand;
if ok || ok_rev {
- info!("instant recipe {ri:?} reversed={ok_rev}");
+ info!("instant {ri} reversed={ok_rev}");
let ok_rev = ok_rev as usize;
let this_had_item = this.is_some();
let other_had_item = other.is_some();
diff --git a/server/src/lib.rs b/server/src/lib.rs
index b29de4f4..260221da 100644
--- a/server/src/lib.rs
+++ b/server/src/lib.rs
@@ -32,7 +32,7 @@ pub struct ConnectionID(pub i64);
impl Display for ConnectionID {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
- write!(f, "conn({})", self.0)
+ write!(f, "conn#{}", self.0)
}
}
diff --git a/server/src/server.rs b/server/src/server.rs
index 2c01b496..99e7eaf8 100644
--- a/server/src/server.rs
+++ b/server/src/server.rs
@@ -364,6 +364,7 @@ impl Server {
(gamedata, serverdata): (Gamedata, Serverdata),
timer: Option<Duration>,
) {
+ info!("Changing map to {:?}", gamedata.current_map);
for mut e in self.entities.drain(..) {
e.destructor(EntityContext {
game: &mut self.game,
@@ -448,17 +449,17 @@ impl Server {
Some(&mut self.packet_out),
);
if let Some(conn) = conn {
- info!("{conn} join {player}");
+ info!("{player} joined (owned by {conn})");
} else {
- info!("server join {player}");
+ info!("Server adds {player}");
}
replies.push(PacketC::Joined { id: player })
}
PacketS::Leave { player } => {
if let Some(conn) = conn {
- info!("{conn} leave {player}");
+ info!("{player} left (owned by {conn})");
} else {
- info!("server leave {player}");
+ info!("Server removes {player}");
}
let p = self
.game
@@ -650,27 +651,28 @@ impl Server {
player,
pin,
} => {
+ let Some(player_data) = self.game.players.get_mut(&player) else {
+ return Ok(());
+ };
if let Some(message) = &message {
- info!(
- "{player} message {}",
- message.display_message(&FALLBACK_LOCALE, &self.game.data, &COLORED)
- );
- } else {
- info!("{player} clear message");
+ let body = message.display_message(&FALLBACK_LOCALE, &self.game.data, &COLORED);
+ if player_data.name != "" {
+ info!("[{player} {:?}] {body}", player_data.name);
+ } else {
+ info!("[{player}] {body}",);
+ }
}
let pin = pin.unwrap_or(false);
- let timeout = if let Some(timeout) = timeout
- && let Some(player) = self.game.players.get_mut(&player)
- {
+ let timeout = if let Some(timeout) = timeout {
let mut timeout = MessageTimeout {
initial: timeout,
remaining: timeout,
pinned: pin,
};
- if let Some((_, t)) = &player.communicate_persist {
+ if let Some((_, t)) = &player_data.communicate_persist {
timeout.initial = t.initial;
};
- player.communicate_persist = message.clone().map(|m| (m, timeout));
+ player_data.communicate_persist = message.clone().map(|m| (m, timeout));
Some(timeout)
} else {
None