Compare commits
1 Commits
ce54f782bf
...
99d957b461
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
99d957b461 |
@@ -139,7 +139,7 @@ jobs:
|
||||
echo "go down"
|
||||
echo "go south"
|
||||
echo "attack thief"
|
||||
sleep 8
|
||||
sleep 15
|
||||
echo "stats"
|
||||
echo "quit"
|
||||
) | ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p 2222 smoketest@localhost
|
||||
@@ -173,27 +173,43 @@ jobs:
|
||||
|
||||
- name: Verify logging
|
||||
run: |
|
||||
set +e
|
||||
if [ ! -d "logs" ]; then
|
||||
echo "Error: logs directory not found"
|
||||
exit 1
|
||||
fi
|
||||
if ! ls logs/mudserver_*.log >/dev/null 2>&1; then
|
||||
|
||||
MS_LOG=$(ls -t logs/mudserver_*.log 2>/dev/null | head -n 1)
|
||||
CB_LOG=$(ls -t logs/combat_*.log 2>/dev/null | head -n 1)
|
||||
|
||||
FAILED=0
|
||||
|
||||
if [ -z "$MS_LOG" ]; then
|
||||
echo "Error: no mudserver log files found"
|
||||
exit 1
|
||||
FAILED=1
|
||||
else
|
||||
echo "Checking mudserver log: $MS_LOG"
|
||||
grep -q "World '.*': .* rooms" "$MS_LOG" || { echo "Failed: World loading log missing"; FAILED=1; }
|
||||
grep -q "MUD server listening on" "$MS_LOG" || { echo "Failed: Listen log missing"; FAILED=1; }
|
||||
grep -q "New character created: smoketest" "$MS_LOG" || { echo "Failed: smoketest creation log missing"; FAILED=1; }
|
||||
grep -q "Admin action: registration setting updated: '.*'" "$MS_LOG" || { echo "Failed: Admin action log missing"; FAILED=1; }
|
||||
fi
|
||||
if ! ls logs/combat_*.log >/dev/null 2>&1; then
|
||||
|
||||
if [ -z "$CB_LOG" ]; then
|
||||
echo "Error: no combat log files found"
|
||||
exit 1
|
||||
FAILED=1
|
||||
else
|
||||
echo "Checking combat log: $CB_LOG"
|
||||
grep -q "Combat: Player 'smoketest' (ID .*) engaged NPC 'Shadowy Thief'" "$CB_LOG" || { echo "Failed: Combat engagement log missing"; FAILED=1; }
|
||||
grep -q "Combat: Player 'smoketest' (ID .*) killed NPC 'Shadowy Thief'" "$CB_LOG" || { echo "Failed: NPC kill log missing"; FAILED=1; }
|
||||
fi
|
||||
|
||||
MS_LOG=$(ls -t logs/mudserver_*.log | head -n 1)
|
||||
CB_LOG=$(ls -t logs/combat_*.log | head -n 1)
|
||||
|
||||
echo "Checking mudserver log: $MS_LOG"
|
||||
grep -q "World '.*': .* rooms" "$MS_LOG"
|
||||
grep -q "MUD server listening on" "$MS_LOG"
|
||||
grep -q "New character created: smoketest" "$MS_LOG"
|
||||
grep -q "Admin action: registration setting updated: '.*'" "$MS_LOG"
|
||||
|
||||
echo "Checking combat log: $CB_LOG"
|
||||
grep -q "Combat: Player 'smoketest' (ID .*) killed NPC 'Shadowy Thief'" "$CB_LOG"
|
||||
if [ $FAILED -ne 0 ]; then
|
||||
echo "--- LOG VERIFICATION FAILED ---"
|
||||
echo "--- MUDSERVER LOG CONTENTS ---"
|
||||
[ -n "$MS_LOG" ] && cat "$MS_LOG"
|
||||
echo "--- COMBAT LOG CONTENTS ---"
|
||||
[ -n "$CB_LOG" ] && cat "$CB_LOG"
|
||||
exit 1
|
||||
fi
|
||||
echo "Logging verification passed."
|
||||
|
||||
BIN
mudserver.db.test
Normal file
BIN
mudserver.db.test
Normal file
Binary file not shown.
BIN
mudserver.db.test-shm
Normal file
BIN
mudserver.db.test-shm
Normal file
Binary file not shown.
BIN
mudserver.db.test-wal
Normal file
BIN
mudserver.db.test-wal
Normal file
Binary file not shown.
@@ -70,8 +70,7 @@ pub fn resolve_combat_tick(
|
||||
|
||||
if new_npc_hp <= 0 {
|
||||
let player_name = state.players.get(&player_id).map(|c| c.player.name.clone()).unwrap_or_else(|| "Unknown".into());
|
||||
log::info!(target: "{combat}",
|
||||
"Combat: Player '{}' (ID {}) killed NPC '{}' ({})", player_name, player_id, npc_template.name, npc_id);
|
||||
log::info!(target: "{combat}", "Combat: Player '{}' (ID {}) killed NPC '{}' ({})", player_name, player_id, npc_template.name, npc_id);
|
||||
if let Some(inst) = state.npc_instances.get_mut(&npc_id) {
|
||||
inst.alive = false;
|
||||
inst.hp = 0;
|
||||
@@ -356,8 +355,7 @@ pub fn player_death_respawn(player_id: usize, state: &mut GameState) -> String {
|
||||
.map(|c| c.player.name.clone())
|
||||
.unwrap_or_else(|| "Unknown".into());
|
||||
|
||||
log::info!(target: "{combat}",
|
||||
"Combat: Player '{}' (ID {}) died and respawned at {}", player_name, player_id, spawn_room);
|
||||
log::info!(target: "{combat}", "Combat: Player '{}' (ID {}) died and respawned at {}", player_name, player_id, spawn_room);
|
||||
|
||||
if let Some(conn) = state.players.get_mut(&player_id) {
|
||||
conn.player.stats.hp = conn.player.stats.max_hp;
|
||||
|
||||
@@ -105,7 +105,7 @@ async fn main() {
|
||||
Naming::Numbers,
|
||||
Cleanup::KeepLogFiles(7),
|
||||
)
|
||||
.write_mode(WriteMode::BufferAndFlush)
|
||||
.write_mode(WriteMode::Direct)
|
||||
.add_writer("combat", Box::new(combat_writer))
|
||||
.start()
|
||||
.unwrap_or_else(|e| {
|
||||
|
||||
Reference in New Issue
Block a user