CloudRip banner

CloudRip

13 devlogs
27h 0m 3s

An FOSS, free Game sharing plattform, with no need to reconvert your games to anything! (As long as its runnable as an AppImage or via Wine, more accepted may come in the future!)

This project uses AI

Artificial Intelligence (Claude/Copilot) was utilized in the following areas:

Frontend: All HTML/CSS files were AI-generated.
Stability: AI was used to refactor the core C logic from a "proof of concept" to a robust multi-user system, ensuring the server handles concurrent connections without crashing.
Readme: Translated to markdown format and to englisch.
Demo Repository

Loading README...

Jakob

Shipped this project!

Hours: 27.0
Cookies: 🍪 166
Multiplier: 6.16 cookies/hr

I built an alternative free and open source Cloud gaming Software, wich runs any game (as long as its runnable via wine OR Linux native) in docker containers and streams the gameplay to the User in the browser and returns the inputs, and everything (exept the html files) completly in C!

It was Not an easy projekt and i learn way too mouch from thread safety, docker managment, http/https servers in c, Password security using sodium, user and database managment using sqlite3, and way more C stuff than I already knew!

Jakob

Debugged stuff and finalised it to actually work as intended.

Attachment
Attachment
0
Jakob

added basic logic for cryptographic storing the tokens and stuff. we are no longer error free but im tired, so ill do it tomorrow (i hope)

Attachment
0
Jakob

Added an cool Database for varius stuff!

Attachment
0
Jakob

Refactored the entire Codebase to work with multiple clients. Having now the first time in a long time 0 errors, 0 warnings! Had a small bug where in the IVFrameHeader an int variable was mistackingly placed, but now the frameHeader size is back at 12 as it should be

Attachment
Attachment
0
Jakob

Added Major refactoring, remaking for an future of Multiple clients, multiple streams/Games and optimisation

Attachment
0
Jakob

It is actually working. Kinda… SO basacly it works, BUT Not keyboard input. idk why, but i dont care rn to debug. Tomorrow. Or the day afther imma look into it.

Attachment
0
Jakob

Finalised all possible data inputs from the browser to the client in the pharsing logik to get them into an working format! They are not safe or anything, but they work.

Attachment
Attachment
0
Jakob

Added mouseButtonclicked logik stuff. However, i cant rn get it from an char to an int… that sucks, as i need it in int form for further stuff to do with.

Attachment
0
Jakob

I can now properly extract the X and Y coordinates from the browser callback (in an simulated enviroment)

Attachment
0
Jakob

okay so basacly I added some minor features like the splitting of the sended packet, because udp has an max packet size of 1200ish. and afther liek an Houre of debugging, i FINALLY have an PICTURE!!! The error was that in C, the compiler put the Variables wich has only 4bytes NOT next to the next variable wich has 8bytes, but puts 4 padding bytes inbetween to have it easier to read. SO an malformed 16bytes packet was send and not the real 12 bytes packet. So now i only have to add the reverse way, wich means that the browser is sending the keyboard/mouse inputs back to the server, and on the server that stuff gets injekded into the Game. WHy did i start tis projekt again???

Attachment
Attachment
0
Jakob

Today I re-added Docker container managment, wrote my “own” mini libary, wich is NOT safe, but hey Proof of concept build! And yeah. basacly i also got ffmpeg working and jup thats about it.
(Docker managment is a not cool stuff to do, because of RAW C Sockets…).
But look at this cool ffmpeg captured screen!

Attachment
0
Jakob

Okay soo basacly afther way too mouch chatting with claude and learning now not only WebRTC, but also Pure C webserver managment (python was soo mouch easier, i love c) and learning new stuff and so on I finally CAN CONNECT!!!! (in theory from all routes, also different networks but i can only test rn with local network ip adresses). Tomorrow Ill add the wonderfull video stream for the Proof of concept build! Why proof of conzept you may ask? Well… If the latency is noticable when hosted on my server the projekt, I can basacly scrap it and 7h were wasted… Stay tuned to find out more!!!

So yeah, thats cool! And it didnt even take as long as expected…
WAIT Where did the last 4 houres go???

Attachment
0
Jakob

added basic docker container managment and temp game adding for an POC build

Attachment
0