Expand terminal filesystem, add mainframe hint cron, redirect PHP logs
- Game1 terminal: flesh out the virtual filesystem with a realistic spread of Linux directories/files (~70 dirs, ~140 files) so it no longer reads as an obviously small puzzle set, without touching any win-condition or rapport files. - Add app:hints:check command + a php-cron container (BusyBox crond) that nudges players who haven't contacted every teammate 5 minutes into a session, via a new 'hint' Mercure message type. - Log the cron command's output to var/log/cron/cron.log and rotate it (25MB / 90 days) via logrotate, run daily from the same crontab. - Redirect PHP's error_log and Symfony's prod app/deprecation logs from stderr-only into var/log/php/*.log (kept alongside stderr), with the same rotation policy. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -94,6 +94,7 @@ let currentLockedAt = null;
|
||||
function lockMessageClass(messageType) {
|
||||
if (messageType === 'virus') return 'message-virus';
|
||||
if (messageType === 'mainframe') return 'message-mainframe';
|
||||
if (messageType === 'hint') return 'message-hint';
|
||||
return '';
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
ServerRoot "/etc/apache2"
|
||||
Listen 80
|
||||
User www-data
|
||||
Group www-data
|
||||
ErrorLog ${APACHE_LOG_DIR}/error.log
|
||||
LogLevel warn
|
||||
IncludeOptional mods-enabled/*.load
|
||||
IncludeOptional sites-enabled/*.conf
|
||||
@@ -0,0 +1,3 @@
|
||||
deb http://deb.debian.org/debian bookworm main contrib non-free-firmware
|
||||
deb http://deb.debian.org/debian bookworm-updates main contrib non-free-firmware
|
||||
deb http://security.debian.org/debian-security bookworm-security main contrib non-free-firmware
|
||||
@@ -0,0 +1,8 @@
|
||||
# /etc/crontab: system-wide crontab
|
||||
SHELL=/bin/sh
|
||||
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
||||
|
||||
17 * * * * root cd / && run-parts --report /etc/cron.hourly
|
||||
25 6 * * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.daily
|
||||
47 6 * * 7 root test -x /usr/sbin/anacron || run-parts --report /etc/cron.weekly
|
||||
52 6 1 * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.monthly
|
||||
@@ -0,0 +1 @@
|
||||
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
||||
@@ -0,0 +1,4 @@
|
||||
# /etc/fstab: static file system information.
|
||||
UUID=8f14e45f-ceea-4a63-9b3f-1a2b3c4d5e6f / ext4 errors=remount-ro 0 1
|
||||
UUID=1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d /boot ext4 defaults 0 2
|
||||
/swapfile none swap sw 0 0
|
||||
@@ -0,0 +1 @@
|
||||
archive-node-04
|
||||
@@ -0,0 +1,6 @@
|
||||
127.0.0.1 localhost
|
||||
127.0.1.1 archive-node-04
|
||||
::1 localhost ip6-localhost ip6-loopback
|
||||
ff02::1 ip6-allnodes
|
||||
ff02::2 ip6-allrouters
|
||||
10.0.0.4 archive-node-04.internal
|
||||
@@ -0,0 +1,2 @@
|
||||
Debian GNU/Linux 12 \n \l
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
Welcome to archive-node-04.
|
||||
All connections are logged and monitored for internal review purposes.
|
||||
@@ -0,0 +1,10 @@
|
||||
source /etc/network/interfaces.d/*
|
||||
|
||||
auto lo
|
||||
iface lo inet loopback
|
||||
|
||||
auto eth0
|
||||
iface eth0 inet static
|
||||
address 10.0.0.4
|
||||
netmask 255.255.255.0
|
||||
gateway 10.0.0.1
|
||||
@@ -0,0 +1,14 @@
|
||||
user www-data;
|
||||
worker_processes auto;
|
||||
pid /run/nginx.pid;
|
||||
|
||||
events {
|
||||
worker_connections 768;
|
||||
}
|
||||
|
||||
http {
|
||||
sendfile on;
|
||||
keepalive_timeout 65;
|
||||
include /etc/nginx/mime.types;
|
||||
include /etc/nginx/sites-enabled/*;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
passwd: files
|
||||
group: files
|
||||
shadow: files
|
||||
hosts: files dns
|
||||
networks: files
|
||||
protocols: db files
|
||||
services: db files
|
||||
ethers: db files
|
||||
rpc: db files
|
||||
@@ -0,0 +1,8 @@
|
||||
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
|
||||
NAME="Debian GNU/Linux"
|
||||
VERSION_ID="12"
|
||||
VERSION="12 (bookworm)"
|
||||
VERSION_CODENAME=bookworm
|
||||
ID=debian
|
||||
HOME_URL="https://www.debian.org/"
|
||||
SUPPORT_URL="https://www.debian.org/support"
|
||||
@@ -0,0 +1,11 @@
|
||||
root:x:0:0:root:/root:/bin/bash
|
||||
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
|
||||
bin:x:2:2:bin:/bin:/usr/sbin/nologin
|
||||
sys:x:3:3:sys:/dev:/usr/sbin/nologin
|
||||
sync:x:4:65534:sync:/bin:/bin/sync
|
||||
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
|
||||
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
|
||||
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
|
||||
sshd:x:105:65534::/run/sshd:/usr/sbin/nologin
|
||||
admin:x:1000:1000:admin,,,:/home/admin:/bin/bash
|
||||
guest:x:1001:1001:guest,,,:/home/guest:/bin/bash
|
||||
@@ -0,0 +1,3 @@
|
||||
nameserver 1.1.1.1
|
||||
nameserver 9.9.9.9
|
||||
options edns0
|
||||
@@ -0,0 +1,7 @@
|
||||
root:$6$rounds=656000$xJ2kLQmZ$aFq9zN3vQwErTyUiOpAsDfGhJkLzXcVbNm1234567890abcdefgh:19700:0:99999:7:::
|
||||
daemon:*:19700:0:99999:7:::
|
||||
bin:*:19700:0:99999:7:::
|
||||
sys:*:19700:0:99999:7:::
|
||||
sshd:*:19700:0:99999:7:::
|
||||
admin:$6$rounds=656000$k3PqR8tW$bGr0oPqLmNbVcXzAsDfGhJkLqWeRtYuIoP0987654321zyxwvu:19700:0:99999:7:::
|
||||
guest:*:19700:0:99999:7:::
|
||||
@@ -0,0 +1,4 @@
|
||||
Host *
|
||||
SendEnv LANG LC_*
|
||||
HashKnownHosts yes
|
||||
GSSAPIAuthentication yes
|
||||
@@ -0,0 +1,7 @@
|
||||
Port 22
|
||||
PermitRootLogin no
|
||||
PasswordAuthentication yes
|
||||
PubkeyAuthentication yes
|
||||
X11Forwarding no
|
||||
PrintMotd no
|
||||
Subsystem sftp /usr/lib/openssh/sftp-server
|
||||
@@ -0,0 +1 @@
|
||||
Europe/Amsterdam
|
||||
@@ -0,0 +1,8 @@
|
||||
app:
|
||||
name: internal-archive-sync
|
||||
version: 2.3.1
|
||||
log_level: info
|
||||
port: 8080
|
||||
database:
|
||||
driver: sqlite
|
||||
path: /opt/app/data.db
|
||||
@@ -0,0 +1,5 @@
|
||||
apt update
|
||||
apt upgrade -y
|
||||
systemctl restart nginx
|
||||
df -h
|
||||
journalctl -xe
|
||||
@@ -0,0 +1,10 @@
|
||||
# ~/.bashrc: executed by bash for non-login shells
|
||||
|
||||
case $- in
|
||||
*i*) ;;
|
||||
*) return;;
|
||||
esac
|
||||
|
||||
export PS1='\u@\h:\w\$ '
|
||||
alias ll='ls -alF'
|
||||
alias la='ls -A'
|
||||
@@ -0,0 +1 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGZ8pQxT2mN0vRkLwYb6cJhU3sEoAeKdVmXpZq7tRnBs admin@archive-node-04
|
||||
@@ -0,0 +1,2 @@
|
||||
update-alternatives 2026-05-30 03:10:04: link group editor updated to point to /usr/bin/vim.basic
|
||||
update-alternatives 2026-05-30 03:10:04: link group pager updated to point to /usr/bin/less
|
||||
@@ -0,0 +1,6 @@
|
||||
Jun 12 09:41:55 archive-node-04 sshd[10233]: Accepted publickey for admin from 10.0.0.7 port 51422 ssh2
|
||||
Jun 12 09:41:55 archive-node-04 sshd[10233]: pam_unix(sshd:session): session opened for user admin by (uid=0)
|
||||
Jun 12 09:55:02 archive-node-04 sudo: admin : TTY=pts/0 ; PWD=/home/admin ; USER=root ; COMMAND=/usr/bin/apt update
|
||||
Jun 12 10:12:40 archive-node-04 sshd[10233]: pam_unix(sshd:session): session closed for user admin
|
||||
Jun 12 22:03:11 archive-node-04 sshd[15092]: Failed password for invalid user test from 203.0.113.44 port 39102 ssh2
|
||||
Jun 12 22:03:14 archive-node-04 sshd[15092]: Connection closed by 203.0.113.44 port 39102 [preauth]
|
||||
@@ -0,0 +1,4 @@
|
||||
[ OK ] Started Network Manager.
|
||||
[ OK ] Started OpenSSH server daemon.
|
||||
[ OK ] Started Nginx HTTP server.
|
||||
[ OK ] Reached target Multi-User System.
|
||||
@@ -0,0 +1,2 @@
|
||||
Jun 12 04:00:11 archive-node-04 CRON[9021]: (root) CMD (test -x /usr/sbin/anacron || run-parts --report /etc/cron.daily)
|
||||
Jun 12 18:30:02 archive-node-04 CRON[15544]: (root) CMD (test -x /usr/sbin/anacron || run-parts --report /etc/cron.hourly)
|
||||
@@ -0,0 +1,2 @@
|
||||
Jun 12 03:00:05 archive-node-04 systemd-udevd[512]: Using default interface naming scheme 'v252'.
|
||||
Jun 12 03:00:11 archive-node-04 dbus-daemon[601]: [system] Successfully activated service 'org.freedesktop.hostname1'
|
||||
@@ -0,0 +1,4 @@
|
||||
[ 0.000000] Linux version 6.1.0-21-amd64 (debian-kernel@lists.debian.org)
|
||||
[ 0.004211] Command line: BOOT_IMAGE=/boot/vmlinuz-6.1.0-21-amd64 root=UUID=8f14e45f
|
||||
[ 0.512033] ACPI: Core revision 20221020
|
||||
[ 1.221004] usb 1-1: new high-speed USB device number 2
|
||||
@@ -0,0 +1,4 @@
|
||||
2026-05-30 03:10:02 startup archives unpack
|
||||
2026-05-30 03:10:04 install curl:amd64 <none> 8.4.0-2
|
||||
2026-05-30 03:10:05 status installed curl:amd64 8.4.0-2
|
||||
2026-06-02 09:44:11 upgrade openssh-server:amd64 1:9.2p1-2 1:9.2p1-2+deb12u2
|
||||
@@ -0,0 +1,4 @@
|
||||
Jun 12 03:00:02 archive-node-04 kernel: [ 0.000000] Linux version 6.1.0-21-amd64
|
||||
Jun 12 03:00:02 archive-node-04 kernel: [ 0.004211] Command line: BOOT_IMAGE=/boot/vmlinuz-6.1.0-21-amd64 root=UUID=8f14e45f
|
||||
Jun 12 03:00:03 archive-node-04 kernel: [ 1.221004] usb 1-1: new high-speed USB device number 2
|
||||
Jun 12 03:00:03 archive-node-04 kernel: [ 1.552210] eth0: link up, 1000Mbps, full-duplex
|
||||
@@ -0,0 +1,2 @@
|
||||
Jun 12 05:11:02 archive-node-04 postfix/qmgr[812]: 3F2A1C0021: removed
|
||||
Jun 12 05:11:02 archive-node-04 postfix/smtp[9944]: 3F2A1C0021: to=<root@localhost>, status=sent
|
||||
@@ -0,0 +1,8 @@
|
||||
Jun 12 03:12:01 archive-node-04 systemd[1]: Starting Daily apt download activities...
|
||||
Jun 12 03:12:04 archive-node-04 systemd[1]: apt-daily.service: Deactivated successfully.
|
||||
Jun 12 04:00:11 archive-node-04 CRON[9021]: (root) CMD (test -x /usr/sbin/anacron || run-parts --report /etc/cron.daily)
|
||||
Jun 12 06:25:00 archive-node-04 anacron[1122]: Job `cron.daily' terminated
|
||||
Jun 12 09:41:55 archive-node-04 sshd[10233]: Accepted publickey for admin from 10.0.0.7 port 51422 ssh2
|
||||
Jun 12 09:41:55 archive-node-04 sshd[10233]: pam_unix(sshd:session): session opened for user admin
|
||||
Jun 12 12:03:19 archive-node-04 systemd[1]: Reloading nginx.service
|
||||
Jun 12 18:30:02 archive-node-04 CRON[15544]: (root) CMD (test -x /usr/sbin/anacron || run-parts --report /etc/cron.hourly)
|
||||
@@ -0,0 +1,4 @@
|
||||
From cron@archive-node-04 Wed Jun 10 06:25:01 2026
|
||||
Subject: Cron <root@archive-node-04> run-parts --report /etc/cron.daily
|
||||
|
||||
Daily housekeeping completed without errors.
|
||||
@@ -66,6 +66,11 @@ div.message-mainframe {
|
||||
color: #0F0;
|
||||
}
|
||||
|
||||
div.message-hint {
|
||||
color: #FF0;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div#lock-banner {
|
||||
position: fixed;
|
||||
top: 68px;
|
||||
|
||||
Reference in New Issue
Block a user