-
Notifications
You must be signed in to change notification settings - Fork 225
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Opaque EULA Failure #271
Comments
Assuming number 3 ends up as the solution, it probably doesnt matter much, but 't looks like the problem description isn't completely accurate. As far as I can tell, setting 'eula=true' in 'server.properties' does not work. Instead a 'eula.txt' file must exist with this line. |
Ah yes you're right. Haven't tested it but the literature seems to suggest there is a line in |
msm should prevent user at first start that he/she must accepts eula and then automatically create a eula.txt no ? |
Yes, Minecraft server creates a file called eula.txt containing eula=false on first run, then stops execution with a message prompting the user to update the file. |
Wouldn't it be possible to check for the file and a regular expression to check for eula=true? |
for FILE in $(find . -name eula.txt -type f); do cat $FILE | sed On Fri, Jul 10, 2015 at 7:22 PM, kjkazinski [email protected]
|
Assuming there is a stipulation in the Eula where the user needs to manually accept it by changing it to true, I don't want to assume the script changing it to true will bind lawfully in the same way. It would be worth investigating. |
Blaine, Assuming there is a stipulation in the Eula where the user needs to manually accept it by changing it to true, I don't want to assume the script changing it to true will bind lawfully in the same way. It would be worth investigating.— |
@kjkazinski thanks for the explanation. |
I think the eula.txt is part of the first start so that first start would On Sun, Jul 12, 2015, 2:04 PM Blaine Motsinger [email protected]
|
One of the immediate issues I found in testing yesterday was that MSM defaults to installing an old version of Minecraft Server, which isn't subject to the EULA issue. So, because multiple versions can be run, I'm thinking something like: |
On a local dev branch, I've added a check for EULA=true in the server_start() function, which will notify the admin if the eula has not been accepted. The minecraft jar will not start, per it's own requirement for the eula, but the admin will not be unaware anymore. Given all Vanilla and CraftBukkit jars since 1.7.10 require eula.txt set to true to start, I don't believe this addition should cause backwards compatibility issues, unless there are a fair amount of users which are running jar versions older than 1.7.10, which I am unsure of. This could be a wrong assumption on my part, though. Currently, CraftBukkit downloads are down, due to a DMCA takedown request. Depending on the direction that issue ends up going, the inclusion of CraftBukkit could be addressed seperately. However, currently running CraftBukkit servers should all still be subject to the eula check. If someone has the jar available, they could ultimately still use it for first run on server creation, just not downloaded from the CraftBukkit servers. The check will happen for each active world server startup. Adding it to the server_start() function will also allow for the other server start methods to utilize this check, whether "msm [start|restart]" or "msm server [start|restart]". Adding it to check during each startup, IMO, was the least complicated addition to the script. As well, if the eula.txt is removed or changed, even after first startup, the jar will give the same eula error again, which means msm should check on each startup. If there are a number of users using jars older than 1.7.10, please feel free to chime in. If there are no objections to this, I'll push this up this evening. |
How about this: If This would alert the user to a "EULA blocked" start. This assumes |
the way I have it structured, the eula check happens after the server has been initiated to start, which means the jar will recreate the eula.txt before the check will ever happen. |
Exactly. So if it's a EULA version we end up enforcing it. If it's not (<1.7.10 as you say) we don't. |
Just testing this quickly, there isn't any logic in msm to alert the admin if the EULA failure message happens.
|
and just to clarify, 1.8.7 does recreate the eula each time if it's missing. |
Yer. We could either detect the error message (means listening for all incarnations) and propagate upwards. Or we can predict the error: as would be the case by checking the EULA ourselves. |
The order of the check could easily go like this without much change to my addition: This seems to be in line with what you're suggestion? It would allow for older versions, as well as error as desired for newer |
Wouldn't using version numbers to decide add complexity? Wouldn't the fundamental way to decide be to check for the Is there a benefit to basing that decision on version number? There's nothing to say all future versions will require EULAs. |
Actually, that would make more sense to just check for existence, since the jar will create the file if it's a version that requires it. I assume that's what you were saying with your original comment? Haha, complicated indeed. |
Yes, sorry I garbled it. |
nah, I meant me, complicated |
tested and verified with |
closing this one out. If there are any issues, please reopen. |
Vanilla minecraft servers now will not start unless
eula=true
is found inserver.properties
. MSM isn't aware of this process and only obfuscates this issue.Possible solutions:
eula=true
inserver.properties
(bad form)server.properties
(inellegant)Solution three seems like the best option to me.
The text was updated successfully, but these errors were encountered: