Games on Whales: Building a Multi-Desktop and Game Streaming Server with Docker
After three years of development, the Games on Whales project is now available to the public. This open-source initiative aims to revolutionize virtual desktops and gaming by allowing multiple users to stream different content from a single machine. With full hardware acceleration and low latency, Games on Whales offers an innovative approach to multi-user game streaming and productivity. This guide will walk you through the steps to set up your own multi-desktop and game streaming server using Docker.
Installation Instructions
Prerequisites
- Hardware: A powerful machine with a high-end GPU, sufficient RAM (16GB or more), and a fast CPU (Intel i7/AMD Ryzen 7 or higher).
- Operating System: A Linux distribution (e.g., Ubuntu 20.04+ or Debian 10+).
- Network: A reliable network connection with low latency. Wired Ethernet is preferred.
- Docker: Docker and Docker Compose installed on your machine.
Step-by-Step Installation
-
Update your system packages:
sudo apt update && sudo apt upgrade -y
-
Install Docker:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce
-
Install Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
-
Clone the Games on Whales repository:
git clone https://github.com/games-on-whales/wolf.git
cd wolf
-
Build and run the Docker containers:
docker-compose up -d
Verification Steps
After the containers are up and running, verify the installation by accessing the web interface:
- Open a web browser and navigate to
http://your-server-ip:8080
. - Log in with the default credentials provided in the documentation.
- Check the status of the containers to ensure everything is running smoothly.
Main Content Sections
Setting Up Virtual Desktops
Games on Whales allows you to create virtual desktops on demand. Here’s how to set it up:
-
Create a new virtual desktop: Use the web interface to create a new virtual desktop. Specify the resolution and frame rate.
-
Assign users: Assign users to the virtual desktop. Each user will have their own isolated environment.
-
Start the desktop: Start the virtual desktop. Users can now connect and stream their content.
Advanced Input Support
Games on Whales supports advanced input devices such as joypads with Gyro and Acceleration support. To configure these devices:
-
Connect your input device: Ensure your device is connected to the server.
-
Configure input settings: Use the web interface to configure the input settings for each user.
Low Latency Streaming
Games on Whales uses the Moonlight protocol for low latency streaming. To ensure optimal performance:
-
Optimize network settings: Ensure your network is optimized for low latency.
-
Adjust streaming settings: Use the web interface to adjust the streaming settings for each user.
Practical Examples or Case Studies
Example: Multi-User Game Streaming
Imagine you and your friends want to play different games from a single server. Here’s how you can set it up:
-
Create virtual desktops: Create separate virtual desktops for each user.
-
Install games: Use Docker images with pre-installed games or install games manually in each virtual desktop.
-
Start streaming: Each user connects to their virtual desktop and starts streaming their game.
Tips, Warnings, and Best Practices
- Security: Ensure your server is secured with firewalls and strong passwords.
- Resource Allocation: Monitor resource usage and allocate resources efficiently to avoid performance bottlenecks.
- Regular Updates: Keep your Docker images and the server software up to date to benefit from the latest features and security patches.
Conclusion
Setting up a multi-desktop and game streaming server with Games on Whales provides a powerful and flexible solution for both gaming and productivity. By leveraging Docker, you can easily manage and scale your server to meet the needs of multiple users. Explore the wide range of features and contribute to the community to help this innovative project grow.
Additional Resources
- Games on Whales Official Website: Official documentation and resources.
- Games on Whales GitHub Repository: Source code and community contributions.
- Moonlight Streaming Protocol: Learn more about the Moonlight protocol used for low latency streaming.
Frequently Asked Questions (FAQs)
-
What hardware do I need to run Games on Whales?
You need a powerful server with a high-end GPU, sufficient RAM, and a fast CPU. -
Can I use Games on Whales on Windows?
Games on Whales is designed for Linux and Docker environments. -
How can I contribute to the project?
You can contribute by submitting code, reporting issues, or suggesting features on the GitHub repository.
Troubleshooting Guide
Common Issues and Solutions
- Issue: Docker containers fail to start.
Solution: Check Docker logs for errors and ensure all dependencies are installed correctly.
- Issue: High latency in streaming.
Solution: Optimize your network settings and ensure your server has sufficient resources.
- Issue: Input devices not recognized.
Solution: Ensure drivers are installed and configured correctly on the server.
By following this comprehensive guide, you can successfully set up and manage a multi-desktop and game streaming server using Games on Whales. Enjoy the benefits of low-latency streaming and the flexibility of virtual desktops, all powered by open-source technology.