OpenLWR-Server
Serverside component of OpenLWR, handles communication with clients and runs the simulation calculations.\
very big thanks to Goosey (fluff.goose on discord) for writing the original reactor physics in lua
How to run
Installing python3.12
Windows
Install python3.12 via the microsoft store\
Can also be installed from the python website, however please make sure you check the option to set the PATH variable in the installer
macOS
NOTE: This requires version 12.7.5 "Monterey" or later\
Install [brew.sh](https://brew.sh/) via the following command:
```
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```
Then, install python via homebrew:
```
brew install python@3.12
```
Linux
Ubuntu/Debian
NOTE: On stable releases of Debian, python3.12 is not available, you can either build 3.12 from source, or you can install python3.11 through apt (though 3.11 is not supported and may cause issues)
```
sudo apt install python3.12 python3-pip
```
Fedora/RHEL
```
sudo dnf install python3.12 python3.12-pip
```
Arch
```
sudo pacman -S python python-pip
```
Gentoo
```
sudo emerge --ask dev-lang/python:3.12 dev-python/pip
```
FreeBSD
NOTE: python3.12 is not available, you can either build 3.12 from source, or you can install python 3.11 (though 3.11 is not supported and may cause issues)
```
sudo pkg install python311
python3.11 -m ensurepip --upgrade
```
Installing python dependencies
cd into the directory where the server files are, then run the following command:
python3.12 -m pip install -r requirements.txt
In some cases, pip may throw an error telling you to create a venv, if pip runs successfully, you may skip this step, however, if this occurrs, you can resolve this with the following:
python3.12 -m venv .
# Please note that you will need to run this to activate the venv every time you want to start the server
source bin/activate
# Now run pip again
python3.12 -m pip install -r requirements.txt
Running the server
In the server directory, run the following command:
python3.12 main.py