- VAPOR - CE Software Update Mirror and Service Host
- 09 Feb 2021 08:07:56 pm
- Last edited by ACagliano on 03 Aug 2021 08:17:32 pm; edited 1 time in total
I look forward to the mix of reactions, with some calling this project awesome and others calling it pointless and useless. Nonetheless, here we go!
Introducing VAPOR, a project I've been working on for the past few days. It occurred to me to work on this project when I considered that I had a server almost entirely devoted to one game and one website... that I could expand that a bit and share that hosting with other developers who may want to make and/or host games (or general programs) that use a server. I don't know if many exist, but perhaps this may encourage development in that arena.
Project VAPOR is a service I run on my TI-Trek server that the VAPOR client, running on your calculator, can connect to. The VAPOR client can connect to the server I have running. That server can tell the calculator about any active calculator game services that are running on my host, and allow you to connect to them by retrieving a list of dependencies, installing them, and then installing the Client that is needed, and then handing off execution to that client.
For example, say a user running VAPOR would try to connect to my TI-Trek server. The service.conf file would inform VAPOR that in order to play, a client needs: srldrvce, usbdrvce, fileioc, graphc, and keypadc, as well as the appvar TrekGFX.8vx, and finally the client program TITREK. The VAPOR client would request copies of those binaries from the network, which would be served and created on your device (skipping any existing files that are up to date). Those files would also be CRC'd and logged in a library which is saved on your calculator (the CRC is compared with the CRC of the binary on the server to determine if an update is needed). Once all of the needed files are created, the VAPOR client will launch the appropriate client to play the game.
If this sounds awfully familiar to Steam, well, just think of what "vapor" is another word for.
In addition, the Library tab shows you any programs on your device that VAPOR has downloaded. The CRC's, name, and type are saved for each, and while viewing your library you can press a button to have your Library's CRC's checked against those on the server to determine if anything on your device needs updating.
Here's a screenshot of VAPOR's early build in action, displaying the 3 services I have running, Uno (which is still under development, Trek, which is active, and Vapor which is only online when I am testing at the moment.)
@ toolchain devs, would you mind if I maintained an active toolchain build on that network/server, for providing the libs to potential users?
Introducing VAPOR, a project I've been working on for the past few days. It occurred to me to work on this project when I considered that I had a server almost entirely devoted to one game and one website... that I could expand that a bit and share that hosting with other developers who may want to make and/or host games (or general programs) that use a server. I don't know if many exist, but perhaps this may encourage development in that arena.
Project VAPOR is a service I run on my TI-Trek server that the VAPOR client, running on your calculator, can connect to. The VAPOR client can connect to the server I have running. That server can tell the calculator about any active calculator game services that are running on my host, and allow you to connect to them by retrieving a list of dependencies, installing them, and then installing the Client that is needed, and then handing off execution to that client.
For example, say a user running VAPOR would try to connect to my TI-Trek server. The service.conf file would inform VAPOR that in order to play, a client needs: srldrvce, usbdrvce, fileioc, graphc, and keypadc, as well as the appvar TrekGFX.8vx, and finally the client program TITREK. The VAPOR client would request copies of those binaries from the network, which would be served and created on your device (skipping any existing files that are up to date). Those files would also be CRC'd and logged in a library which is saved on your calculator (the CRC is compared with the CRC of the binary on the server to determine if an update is needed). Once all of the needed files are created, the VAPOR client will launch the appropriate client to play the game.
If this sounds awfully familiar to Steam, well, just think of what "vapor" is another word for.
In addition, the Library tab shows you any programs on your device that VAPOR has downloaded. The CRC's, name, and type are saved for each, and while viewing your library you can press a button to have your Library's CRC's checked against those on the server to determine if anything on your device needs updating.
Here's a screenshot of VAPOR's early build in action, displaying the 3 services I have running, Uno (which is still under development, Trek, which is active, and Vapor which is only online when I am testing at the moment.)
@ toolchain devs, would you mind if I maintained an active toolchain build on that network/server, for providing the libs to potential users?
