{"id":888,"date":"2021-08-16T12:00:00","date_gmt":"2021-08-16T19:00:00","guid":{"rendered":"https:\/\/letsbuildroboticswithshadow8472.com\/?p=888"},"modified":"2021-08-16T11:18:49","modified_gmt":"2021-08-16T18:18:49","slug":"unsteam-games","status":"publish","type":"post","link":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/2021\/08\/16\/unsteam-games\/","title":{"rendered":"Unsteam Games"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Good Morning from my Robotics Lab! This is Shadow_8472, and today I am doing a brief followup to my work on moving Kerbal Space Program (KSP) between computers. Let\u2019s get started!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Author\u2019s Note<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">My experience is with Linux. I make no claims about how Steam handles games in Windows. Furthermore: this post is for educational purposes only. Don\u2019t take advantage of DRM-free games by pirating them. Make an effort your money goes to the legitimate owners of a game when playing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Steam<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Like many computer gamers since 2003, I have a Steam account and I have a number of games through the platform. It\u2019s a nice way to make sure you don\u2019t lose physical copies, and it adds a number of achievements for completionists to strive for.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But that doesn\u2019t mean I have to like getting ads stuffed up my face every time I already know what I want to play, nor do I need to like the feeling of being watched as I play. I like the feeling of achievements, but for some games they\u2019re unironically tacked on decades after release (I\u2019m looking at you, Sonic CD). Finally, there\u2019s that overhead from the client itself. Other than achievements or tracking how much of my life I\u2019ve spent in what games, there are very few obvious reasons anyone might want Steam running in the background if it isn\u2019t strictly necessary.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Home Cloud Saving<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Admittedly, Steam does provide a few reasonable features you can\u2019t easily get while cutting them out (assuming the game can even be started). User created content can be added through the Steam workshop. Some games\u2019 multiplayer modes were made specifically to go through Steam\u2019s servers. Saves can be automatically synchronized from one computer to another.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That last one is a feature I\u2019ve managed to replicate, or otherwise have well underway. For single player games I can run without Steam, I\u2019ve been able to use <strong>rsync<\/strong> to quickly copy progress from one computer to another. Last time I talked about it, I discovered it\u2019s safest to always include as much of the respective file paths for the directories being synced.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">By default, Steam will put games in <strong>~\/.steam\/steam\/steamapps\/common\/<\/strong>, but any game that doesn\u2019t care if Steam is running should be happy running out of anywhere in the file system \u2013 just keep in mind Steam won\u2019t update what it can\u2019t see. This time, however, I\u2019ve upped it a little. I moved my copy of KSP to a directory I called <strong>~\/Games\/UnsteamGames\/<\/strong> and added two more titles from my collection I wish to synchronize together: Starbound and Stardew Valley. I had to reflect the changes in GoldenOakLibry, the network storage, but I also wrote simple scripts with the synchronization commands embedded.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I also addressed Steam updates. I have my preferred daily driver where I\u2019m installing all my games from. On that machine, I used a symbolic link for each game I\u2019m relocating.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rsync is a powerful tool. Perhaps my next improvement will involve a hidden file my script ignores.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Takeaway<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Rsync wasn\u2019t the kindest to Starbound. The process kept hanging, and I have no idea why \u2013 I just know it wasn\u2019t because of large file sizes as my research suggested as it was having issues when all I told it to copy was a directory with MIDI-like files or low-resolution sprites stored as PNG\u2019s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Final Question<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What other games might I isolate and re-home for ease of synchronization?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Good Morning from my Robotics Lab! This is Shadow_8472, and today I am doing a brief followup to my work on moving Kerbal Space Program (KSP) between computers. Let\u2019s get started! Author\u2019s Note My experience is with Linux. I make no claims about how Steam handles games in Windows. Furthermore: this post is for educational &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/2021\/08\/16\/unsteam-games\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Unsteam Games&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[2],"tags":[],"class_list":["post-888","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/posts\/888","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/comments?post=888"}],"version-history":[{"count":1,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/posts\/888\/revisions"}],"predecessor-version":[{"id":889,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/posts\/888\/revisions\/889"}],"wp:attachment":[{"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/media?parent=888"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/categories?post=888"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/tags?post=888"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}