# SmileyFace UT Server Tool See official website, [https://zavage-software.com/portfolio/smileyface](https://zavage-software.com/portfolio/smileyface) for instructions. # Dependencies * [pydantic-settings](https://docs.pydantic.dev/latest/concepts/pydantic_settings/) * [click](https://click.palletsprojects.com) * [platformdirs](https://pypi.org/project/platformdirs) * [selenium](https://selenium-python.readthedocs.io) * [sqlparse](https://pypi.org/project/sqlparse) Installation ============ Activate your desired python environment, then: poetry install Supported Python Versions ========================== SmileyFace is tested against CPython 3.8 – 3.13. The supported range is enforced by a smoke-test matrix. To run the matrix locally (requires [uv](https://docs.astral.sh/uv/)): uv python install 3.8 3.9 3.10 3.11 3.12 3.13 uv run --with nox nox -s tests Usage ====== SmileyFace exposes a [Click](https://click.palletsprojects.com) CLI. List all commands and options with: python smileyface.py --help Show help for a specific command: python smileyface.py generate-instance --help Server build & deploy commands: oneclickdeploy Generate instance, upload redirects, and upload server. generate-instance Build local server instance from current configuration. upload-redirects Upload paks to the redirect server. upload-server Upload game files to the hub server. clean-instance Delete the generated instance on the local machine. create-directories Create required directories for maps, mutators, and config. download-linux-server Download the latest Linux UT4 Server from Epic. download-logs Download the logs from the target hub. start-server Start the UT4 server. stop-server Stop the UT4 server. restart-server Restart the UT4 server. Content-scraping commands (under the `scrape` subgroup): scrape ut4pugs Check ut4pugs.us for latest content. scrape utcc Check utcc.unrealpugs.com for latest content. scrape create-db-table Create database tables. scrape load-md5s Load MD5 checksums from local pak files. scrape print-invalid Print pak files that failed validation. Configuration is read from `SMILEYFACE_`-prefixed environment variables or a `.env` file; see `.env.example` for the full list. # Contact * mat@zavage.net