Linux Installation
Step-by-step guide to install and run Gurotopia on Linux
Linux Installation
This guide covers installing Gurotopia on various Linux distributions.
Prerequisites
You'll need a terminal and sudo/root access to install dependencies.
Install Dependencies
Choose your distribution and run the appropriate commands:
Arch Linux
sudo pacman -S base-devel openssl sqliteDebian / Ubuntu
sudo apt-get update
sudo apt-get install build-essential libssl-dev openssl sqlite3Fedora
sudo dnf groupinstall "Development Tools"
sudo dnf install openssl-devel sqlite-develThe build-essential or base-devel package includes GCC, G++, and Make.
Clone the Repository
git clone https://github.com/gurotopia/Gurotopia.git
cd GurotopiaCompile the Server
Navigate to the project's root directory and run:
make -j$(nproc)The -j$(nproc) flag uses all available CPU cores for faster compilation.
Build Output
After successful compilation, you'll find the executable in the project directory:
./main.outRun the Server
Execute the compiled binary:
./main.outThe server will start and display connection information in the terminal.
Run in Background
To run the server in the background:
nohup ./main.out > server.log 2>&1 &Or use screen or tmux for a persistent session:
screen -S gurotopia
./main.out
# Press Ctrl+A, then D to detachUsing Docker
Gurotopia also supports Docker for containerized deployment:
# Build the image
docker build -t gurotopia .
# Run the container
docker run -d -p 17091:17091 --name gurotopia-server gurotopiaMake sure to configure your hosts file before connecting. See the Configuration guide.
Troubleshooting
Permission denied
Make the binary executable:
chmod +x main.outMissing libraries
If you get "library not found" errors, ensure all dependencies are installed:
# Debian/Ubuntu
sudo apt-get install libssl-dev libsqlite3-dev
# Arch
sudo pacman -S openssl sqlitePort already in use
Check if another process is using the port:
sudo lsof -i :17091Kill the process or change the port in configuration.