====== Setting up the FF4FE generator ====== ===== Initial Requirements ===== - Install Python, if it's not already installed * Versions 3.7 through 3.11 are supported, but 3.11 is recommended for performance reasons((Python 3.12 will likely remain incompatible until FE 5.0 or later)) - Clone the FF4FE repo - [[https://github.com/HungryTenor/FreeEnterprise4]] - Set up site URLs and secrets in the ''.env'' file * ''EMBEDDED_REPORT_KEY'' must be 16, 24, or 32 bytes - Set up a Python ENV (from project root dir) using your desired Python version: ''\python -m venv ENV'' * It's highly recommended that you use the full path to the Python executable to ensure you're running the intended version. - Create the file ''fe.pth'' at the specified location: * Windows: ''ENV\Lib\site-packages\fe.pth'' * Linux: ''ENV/lib/python3.xx/site-packages/fe.pth'' (adjust for the actual Python version used) * The contents of the file should be the path of the project root (relative or absolute, with no trailing slash) - Activate the Python virtual environment * Windows: ''ENV\Scripts\activate.bat'' * Linux: ''source ENV/bin/activate'' - Run ''pip install -r requirements.txt'' ===== Running the Generator from the Command Line ===== - Activate the Python virtual environment (only needs to be done if it's not currently active) * Windows: * Command prompt: ''ENV\Scripts\activate.bat'' * PowerShell: ''ENV\Scripts\activate.ps1'' * Git Bash: ''ENV\Scripts\activate'' * Linux: ''source ENV/bin/activate'' - Run ''python -m FreeEnt /path/to/rom make '' * Pass ''-h'' or ''%%--%%help'' as an argument for a list of command line generation flags * See [[dev:usage|Using the Generator]] for a breakdown ===== Web Server Requirements ===== - Install MongoDB * Windows: https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-windows/ * Linux: https://www.mongodb.com/docs/manual/administration/install-on-linux/ * You may also need to run ''ulimit -n 64000'' to raise the limit on number of open files - Download [[https://github.com/Alcaro/Flips/releases|Floating IPS]] and extract the appropriate executable to ''FreeEnt/server/bin/'' (the directory will need to be created) * For Linux, set the executable bit (''chmod +x'') on the flips-linux executable * For a headless Linux setup, you may need to compile the [[https://github.com/Alcaro/Flips/|source]] yourself ===== Running the Web Server ===== - Activate the Python virtual environment (only needs to be done if it's not currently active) * Windows: * Command prompt: ''ENV\Scripts\activate.bat'' * PowerShell: ''ENV\Scripts\activate.ps1'' * Git Bash: ''ENV\Scripts\activate'' * Linux: ''source ENV/bin/activate'' - Run ''python -m FreeEnt /path/to/rom server '' * Pass ''-h'' or ''%%--%%help'' as an argument for a list of server flags * See [[dev:usage#web_server|Using the Generator]] for a breakdown * The server can be run without any additional arguments, in which case it will be available at http://localhost:8080/