Tool Ren'Py Universal starter for Ren'Py games (WIP)

F1forhalp

SOTD: Pankow - Hasch Mich Mädchen
Donor
Oct 28, 2019
1,811
1,585
Here's a version of a more universal starter for Ren'Py games; it's a more or less simple batch file.
I've done this in light of the DRM garbage bound to some games' .exe file, and the whatif in my head after that.
I want it to be a 'pure' batch file, so i'm still stuck on a few things, because i really don't want to involve any scripting outside of this, nothing that requires powershell or invokes some vbs code or needs this or that be installed, no, it should be 'pure' so it can run on whatever Windows version (Vista and up) and config it's put to run.
This actual version should work with Ren'Py games that sport a version (Ren'Py) 2.7 and up, script version newer than 7.3.5; that would be the last one to usually come with a now outdated x86 version of python..? if you only find a folder lib\windows-i686, and none other, you're for now out of luck, this batch doesn't work on those.
I'm still looking for ideas to get older Ren'Py to work, but haven't been lucky yet. It's tricky when staying pure .bat.

attached, file contains the batch file.
batch successfully tested on the following games (in alphabetical order):

18titans, Milf's Plaza, Monster Girl Dreams Alpha, Overlord H, Ravager, Sisterly Lust, WTS 1.40, WTS 1.45.3

it's still a Work In Progress, any hints, pointers or the likes to improve, are appreciated.


this is the better version, created by @⎰ ↜ ✰ BAD 75 ✰ ↜ ⎱
View attachment PyUniversalStarter_1.2.rar
it deals with filenames that contain spaces, as well. old Ren'Py versions are still iffy.
 
Last edited:

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,862
15,999
I've done this in light of the DRM garbage bound to some games' .exe file,
Is there even one game doing this ?

The only example of DRM in Ren'Py games that cross my mind don't come from this site, and all imply modifications in Ren'Py core. Something that your starter wouldn't solve.
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,862
15,999
:WaitWhat:

Ok, I downloaded the game, did not used the fix in the thread, and launched the game with the exe.

First time, I forced Ren'Py to not use Steam, by setting config.steam_appid at None. Then I started the game, played few minutes, jumped to labels that give achievements, jumped to labels that test achievement, jumped to labels from the last chapter, and looked at the achievement page.
Second time, I deleted the two occurrence of the persistent file, to ensure a 100% fresh start, let the steam ID untouched, and did exactly the same, with exactly the same result...

How the fuck a game that can be played unchanged by someone who never played it before, and never bought it, is a game protected by DRM ?
 
  • Haha
Reactions: F1forhalp

fuckitlikearabbit

New Member
Oct 17, 2023
4
14
well, no-one said it was a good drm... some players need to be handheld through things like setting configs.

I mean, some renpy mod-makers feel the need to include not only a written install instruction ("put the files in the fucking game folder or it gets the hose again"), but also visual instructions with screenshots and arrows.... I only wait for the poor dev that will feel the need to explain to players where the zipper of their jeans is.
 

Mattock

Newbie
May 27, 2018
91
79
hi,
1st BAD75 did all that was needed to do on batch-level, I have no .rar-unpacker on my mobile, so I didn't know the (bad) detour creating a file(helpy.txt) was also solved...see another way and some "academic" remarks further down.

BUT, after trying it...what's this tool doing anyway?
The pythonw.exe in the "lib"-folder has for nearly all games on my hd the same icon, as the game.exe in the "root"-folder
it is not same most of the time, but could be(!)
And you think some "bad dev", that has altered the game.exe, just has forgotten to copy the "bad .exe" over the pythonw.exe?

just out of interest @ Crazy_Chicken87 or anne O'nymous: is there any difference using the game.exe(e.g.in that Ravanger-game) and using the batch(i.e. the pythonw.exe) ?

IF someone would want to use a "clean" .exe IMHO you would have to "bring it", i.e. download it from RenPy-SDK, but that sure will be one hell of a task:
-luckily there are not too many different versions of pythonw.exe(in Renpy-SDK), but do calculate with something round 100...
-then what do you do? suggest on an offline-OS to download it?, or bring copies of the .exe in your package?
-well, I don't see it working out for me...


Also, as Anne pointed out, if a dev want to be "bad", s/he does it in RenPy(-core or with .py-Packages) (?)
or do I understand something about DRM not right?
For steam, it's in RenPy and in general can be circumvented on pc by MODs easily...on the other hand e.g. on Android this will be by FAR more complicated
(and a batch(.bat not even a .cmd) will not help on mobiles.


bit confused, still think, I miss something...
greez


P.S.-spoiler-
You don't have permission to view the spoiler content. Log in or register now.
 

⎰ ↜ ✰ BAD 75 ✰ ↜ ⎱

Forum Fanatic
Modder
May 13, 2020
5,290
45,602
I don't know what it's for

there was a problem with .py files with blank spaces and I tried to solve it

again I am not an expert on what this batch file is intended to do and what it is for



to address the issue Mattlock raised about there being multiple .py files



I added a menu with a numerical choice in case of more .py files, exploiting a variable (MAIN_PY_SCRIPT) of the chosen file



i don't know if it can be useful and i repeat i don't know how useful it can be



I am not an expert
;)
 
  • Like
Reactions: Emelex

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,862
15,999
well, no-one said it was a good drm...
Except that, as I explicitly explained, there's no DRM at all. Anyone can play the game as it, without having to change anything. It's just the "steam" version, by opposition the other version handled by the game, but at no time is Steam used to ensure that only authorized players can play.
The Turkish translation site do way better in terms of DRM, and all in Ren'Py.

Now, this doesn't mean that this batch file is useless, just that it will do near to nothing to deal with DRM.


I only wait for the poor dev that will feel the need to explain to players where the zipper of their jeans is.
Right in front, at the level of your groin...
 
  • Wow
Reactions: F1forhalp

F1forhalp

SOTD: Pankow - Hasch Mich Mädchen
Donor
Oct 28, 2019
1,811
1,585
thanks alot for the feedback.
i'm not onto solving the world's problems with this, either. :D
there was one thing i've ran into with that game, and the ever spinning wheels in my brain drove me to try what little remainder about batch files there was. i'm still thinking over this as i type, that's the way i am. i know there's no solution if a dev wants to dig deep and really lock a game, unless you dig into that and idk rewrite from scratch whatever he does. can't be helped.
this steam thing on Ravager looked to me like some easy slap-on maybe even post production; i'm not too keen on that. i simply saw the one-liner done by George311 and i do like the idea of a .bat because that doesn't need anything installed or the likes, and does a quick go around no matter which windoze, from Vista up those cmd are still present and haven't changed much.
what i do see is truly erm, 'they who play' don't seem to know much beyond download and click something.
would a game ask for some .net or visual this or that or any further stuff to install, they'd be hapless. they are, when it comes to unpacking anything that's not a 7zip.. because for exactly this format there's enough babysitting around, that's why :cautious:

consider it a toy, i don't claim to be on par with almost everyone else who commented in here :D
any devs who might check this site and get word about DRM will then likely go other ways to do it, that's going to happen and that's not what this idea could fix, at all.
i'll keep the thread open for discussion, feels somewhat like back in school.
i'd love to have some solution one day, which can cover whatever Ren'Py game i slap it on, even those running old versions.
 

Mattock

Newbie
May 27, 2018
91
79
i'm not onto solving the world's problems with this, either. :D
no. No sensible one of us thinks this of oneself...

I now read a little bit through that Ravager-thread, and it seems for at least some (older) versions of the download, the batch was useful to some people.
So, it's a good thing!
If a dev copies "her/his .exe" "over" the pythonw (which I have seen in some (very) old games) and you start it via the batch, just nothing happens
(at least with an "uninfected" .exe). So, the harm there is not too big either...

So, please, update the download-link in the OP, either use BAD75's v1.1 or do something yourself, that does not need create a file and can handle damned spaces in filenames.


@ BAD75: the thing about the multiple .py was the "academic" part...:geek:
generally we do expect exactly ONE .py-file in the RenPyGameRootFolder,
having None or multiple ones should be considered an error, so your v1.1, which tells what .py-file it will start(or the user can press CTRL-C) is sufficient (for me)
(what has been respected by all batches by now, but I wanna explicitly say: most likely we will find multiple(2 normally) versions of pythonw.exe; important is the order of search and the first found need to be run and then the batch shall end(coz other versions could be found, but we do not want to run that (also))
P.S. OT
lmao! I never thought about that! even it's only one letter to exchange! I always thought about hatchet and when exchanging m with h about havoc, hammock.
But oh well, it's fitting for an old fart...
 
  • Like
Reactions: F1forhalp

F1forhalp

SOTD: Pankow - Hasch Mich Mädchen
Donor
Oct 28, 2019
1,811
1,585
no. No sensible one of us thinks this of oneself...

I now read a little bit through that Ravager-thread, and it seems for at least some (older) versions of the download, the batch was useful to some people.
So, it's a good thing!
If a dev copies "her/his .exe" "over" the pythonw (which I have seen in some (very) old games) and you start it via the batch, just nothing happens
(at least with an "uninfected" .exe). So, the harm there is not too big either...

So, please, update the download-link in the OP, either use BAD75's v1.1 or do something yourself, that does not need create a file and can handle damned spaces in filenames.


@ BAD75: the thing about the multiple .py was the "academic" part...:geek:
generally we do expect exactly ONE .py-file in the RenPyGameRootFolder,
having None or multiple ones should be considered an error, so your v1.1, which tells what .py-file it will start(or the user can press CTRL-C) is sufficient (for me)
(what has been respected by all batches by now, but I wanna explicitly say: most likely we will find multiple(2 normally) versions of pythonw.exe; important is the order of search and the first found need to be run and then the batch shall end(coz other versions could be found, but we do not want to run that (also))
P.S. OTlmao! I never thought about that! even it's only one letter to exchange! I always thought about hatchet and when exchanging m with h about havoc, hammock.
But oh well, it's fitting for an old fart...
right on, OP updated with @⎰ ↜ ✰ BAD 75 ✰ ↜ ⎱ 's version 1.2, thanks again.

for myself, i'm already considering just to put the most recent pythonw from sdk somewhere and add the .py to environment, but i'm clueless about the way that actually gets handled, or if it even works at all. it would simplify things on this old rigg. :confused:

the old versions (windows-i686 folders) still don't work on my system; batch simply finishes and the python does nothing. (killswitch confirms the exe is actually called, then terminates)
 

⎰ ↜ ✰ BAD 75 ✰ ↜ ⎱

Forum Fanatic
Modder
May 13, 2020
5,290
45,602
no. No sensible one of us thinks this of oneself...

I now read a little bit through that Ravager-thread, and it seems for at least some (older) versions of the download, the batch was useful to some people.
So, it's a good thing!
If a dev copies "her/his .exe" "over" the pythonw (which I have seen in some (very) old games) and you start it via the batch, just nothing happens
(at least with an "uninfected" .exe). So, the harm there is not too big either...

So, please, update the download-link in the OP, either use BAD75's v1.1 or do something yourself, that does not need create a file and can handle damned spaces in filenames.


@ BAD75: the thing about the multiple .py was the "academic" part...:geek:
generally we do expect exactly ONE .py-file in the RenPyGameRootFolder,
having None or multiple ones should be considered an error, so your v1.1, which tells what .py-file it will start(or the user can press CTRL-C) is sufficient (for me)
(what has been respected by all batches by now, but I wanna explicitly say: most likely we will find multiple(2 normally) versions of pythonw.exe; important is the order of search and the first found need to be run and then the batch shall end(coz other versions could be found, but we do not want to run that (also))
P.S. OTlmao! I never thought about that! even it's only one letter to exchange! I always thought about hatchet and when exchanging m with h about havoc, hammock.
But oh well, it's fitting for an old fart...
so the selection of the .py file is superfluous



I had also made a python code where you select the folder where you have the games and just double-click in the game you avia using pythonw



was a test using the suggestion
 

WaryFox

Member
Aug 7, 2018
137
434
I don't know if anyone has written about this yet, creating all these universal starters is a rather pointless thing. Anyone can simply download Ren'Py from the official website. Extract the player from there, and use it everywhere, simply renaming it to {game_name}.exe. Default icon can be changed with Rcedit.

I even wrote a script for myself that replaces the player, and at the same time removes from game folder unused binaries/libs (of other platforms and architectures).
 
Last edited: