PierreBeucher / cloudypad

Your own gaming box in the Cloud ! ๐ŸŽฎ โ›…

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cloudy Pad

Your own gaming gear in the Cloud ! ๐ŸŽฎ โ›…

Development status ๐Ÿงช

This project is still at an experimental phase. While working and allowing you to play in the Cloud seamlessly, there may be breaking changes in the future. Feel free to contribute and provide feedback !

Features โœจ

Compatible with Moonlight streaming client

Cloud providers:

Getting started ๐Ÿš€

Cloudy Pad deploys a Cloud gaming gear using the provider of your choice. Before going further, please read:

Prerequisites:

Install cloudypad CLI:

curl https://raw.githubusercontent.com/PierreBeucher/cloudypad/master/cloudypad.sh -o ./cloudypad.sh && \
  chmod +x ./cloudypad.sh && \
  sudo cp ./cloudypad.sh /usr/local/bin/cloudypad

Let the CLI guide you through creation of your Cloudy Pad instance:

  • Create a new machine automatically or use an existing machine
  • Configure GPU drivers and Wolf gaming server
  • Pair with Moonlight
cloudypad init
# How shall we name your Cloudy Pad instance? (default: mypad) 
#
# Initializing Cloudy Pad instance 'mypad'
#
# [...]
#
# ๐Ÿฅณ Your Cloudy Pad instance is ready !

Note: a non interactive method such as cloudypad init --provider paperspace --disk-size 200 ... is in the work

๐Ÿ˜ฑ Something went wrong? See Known issues, FAQ or create an issue

Remember to stop your instance when you're done to avoid unnecessary costs ๐Ÿ’ธ

cloudypad stop mypad

Usage

๐Ÿงช cloudypad CLI interface is still experimental and may change in the future

Available commands:

cloudypad {init|update|start|stop|restart|get|list|pair|ssh|debug-container}

List existing instances:

cloudypad list
# mypad
# another-instance
# super-powerful-pad

Update instance configuration

cloudypad update [instance]

Start, stop or restart an instance

cloudypad start [instance]
cloudypad stop [instance]
cloudypad restart [instance]

Get details of a specific instance.

cloudypad get [instance]

Pair Moonlight with an existing instance:

cloudypad pair [instance]

SSH into you Cloudy Pad instance

cloudypad ssh [myinstance]

Run a Cloudy Pad debug container (container used internally by the CLI with underlying binaries used to deploy instances)

cloudypad debug-container

Known issues

cloudypad init failure

cloudypad init may fail because of timeout or other intermittent error. You can simply restart the init process using the name initially provided, for example if you named your instance mypad you can run:

cloudypad init mypad

As init process is idempotent it restart but won't do again what's already done.

Alternatively, you can run a specific part of the init process:

cloudypad update mypad # Only run instance configuration
cloudypad pair mypad   # Pair instance

Found an bug ?

If you found a bug, please file an issue !

FAQ

How much will I pay ? ๐Ÿซฐ

Cloudy-Pad is free and open-source, however charges may apply when using a Cloud provider. Typically billed resources:

  • Machine usage (GPU, CPU, RAM)
  • Disk storage
  • IP address reservation

Here's an estimation table for supported providers. Example: using Paperspace P4000 10 hours per month with a 50GB disk will cost approximatively 13.10$

Paperspace

Instance Type 10h / month 50 GB disk 10h / month 100 GB disk 10h / month 250 GB disk 20h / month 100 GB disk 20h / month 250 GB disk 30h / month 250 GB disk
P4000 $13.10 $15.10 $18.10 $20.20 $23.20 $28.30
RTX4000 $13.60 $15.60 $18.60 $21.20 $24.20 $29.80
P5000 $15.80 $17.80 $20.80 $25.60 $28.60 $36.40
RTX5000 $16.20 $18.20 $21.20 $26.40 $29.40 $37.60
P6000 $19.00 $21.00 $24.00 $32.00 $35.00 $46.00

AWS

Instance Type 10h / month 50 GB disk 10h / month 100 GB disk 10h / month 250 GB disk 20h / month 100 GB disk 20h / month 250 GB disk 30h / month 250 GB disk
g5.xlarge $17.66 $21.66 $33.66 $31.72 $43.72 $53.78
g5.2xlarge $19.72 $23.72 $35.72 $35.84 $47.84 $59.96
g6.xlarge $15.65 $19.65 $31.65 $27.70 $39.70 $47.74
g6.2xlarge $17.38 $21.38 $33.38 $31.15 $43.15 $52.93

*Estimation based on AWS eu-east-1 and Paperspace pricing on July 2024. Exact prices vary with time and regions.

Estimation for other providers will be added as they are implemented. If you see a significant difference between this table and your observed cost do not hesitate to report it or update it !

What are the recommended specs for my instance ?

General recommandations:

  • Choose a location or region as close as possible to you to avoid too much latency (eg. if you live in the US don't create your instance in Europe)
  • Just provision what you need for: don't create a 1000 GB disk if you intend to play a game that will only use 50 GB.
  • GPU / machine type depends on the game you play. For most game, Paperspace RTX4000 or AWS g5 should be sufficient - you can still update later !

Otherwise it depends on the kind of game you aim to play.

How to play game on Steam / Why does my Steam game doesn't launch ?

In order to play games on Steam you may need to enable Proton:

  • Go to game properties (Gear button on the right > Properties)
  • Enable Proton in the Compatibility menu

See ProtonDB

How does all of this work?

cloudypad is a wrapper around a few technologies:

  • Wolf gaming server
  • Clouder-specific tools and APIs to deploy and manage Cloud machines
  • When possible, Pulumi to deploy Cloud machines and resources
  • Ansible to configure machines (drivers, gaming server, etc.)
  • ๐Ÿง  Brain juice from me and other awesome open-source community members

Will Cloudy Pad become a paid product ?

Probably not in it's current form. Considering I'm really not happy about the enshittification of the internet, Cloudy Pad will remain FOSS - at least for personal use.

Cloudy Pad may have a Premium or Pro offer in the future, but for a personal simple use it will remain FOSS.

License

GNU GENERAL PUBLIC LICENSE

About

Your own gaming box in the Cloud ! ๐ŸŽฎ โ›…

License:GNU General Public License v3.0


Languages

Language:Shell 77.8%Language:TypeScript 15.6%Language:Dockerfile 4.7%Language:Nix 1.8%Language:Jinja 0.1%