Name: coffeemud Version: 5.11.0.1 Release: 1 Summary: CoffeeMud MUD Server License: Apache-2.0 URL: https://www.coffeemud.org/ Source0: CoffeeMud.zip BuildArch: noarch ExclusiveArch: %{java_arches} noarch BuildRequires: ant BuildRequires: java-devel Requires: java-headless %description CoffeeMud is a text-based multiplayer online role-playing game (MUD) engine. %prep %setup -q -n CoffeeMud %build ant compile %install rm -rf %{buildroot} mkdir -p %{buildroot}/opt/coffeemud cp -r * %{buildroot}/opt/coffeemud %pre if [ $1 -eq 2 ]; then echo "Error: Direct upgrades via package manager are disabled for CoffeeMud due to configuration risks." echo "Please use the provided /opt/coffeemud/upgrade.sh script to perform a safe 3-way merge upgrade." echo "If you must use RPM, uninstall the old version first (but back up your changes!)." exit 1 fi %files %dir /opt/coffeemud /opt/coffeemud/* %post # Create custom user/group if ! id coffeemud >/dev/null 2>&1; then groupadd -r coffeemud || true useradd -r -g coffeemud -s /bin/false -d /opt/coffeemud coffeemud fi chown -R coffeemud:coffeemud /opt/coffeemud chmod -R 755 /opt/coffeemud restorecon -R /opt/coffeemud || true if [ -t 1 ]; then echo "CoffeeMud installed successfully in /opt/coffeemud." echo "To set up your MUD (e.g., configure worlds, accounts, and ports):" echo "Start the service: systemctl start coffeemud" echo "Read the documentation: /opt/coffeemud/README and /opt/coffeemud/guides/*" echo "Admin interfaces: http://localhost:27777/ (web admin) and http://localhost:27744/siplet/ (client)" fi cat < /etc/systemd/system/coffeemud.service [Unit] Description=CoffeeMud Server After=network.target [Service] WorkingDirectory=/opt/coffeemud ExecStart=/bin/sh ./mud.sh Restart=always User=coffeemud Group=coffeemud [Install] WantedBy=multi-user.target EOT chmod +x /opt/coffeemud/mud.sh chmod +x /opt/coffeemud/upgrade.sh chmod +x /opt/coffeemud/config.sh systemctl daemon-reload systemctl enable coffeemud %postun if [ $1 -eq 0 ]; then systemctl stop coffeemud || true systemctl disable coffeemud || true rm -f /etc/systemd/system/coffeemud.service systemctl daemon-reload userdel coffeemud || true if getent group coffeemud >/dev/null 2>&1; then groupdel coffeemud || true fi fi %changelog * Sat Oct 18 2025 Bo Zimmerman - %{version}-%{release} - Initial RPM package