Closed strmtrupr2 closed 5 years ago
Hi Scott.
That's weird. I just checked the version manifest, and 1.14
is a valid version. I'll have to dig more into this when I get the chance, probably not until this weekend.. Does version 1.14.1
work?
No, tried 1.14.1 too...
I just checked if I could update my server, and I had no problem. I modified one of my servers to run 1.14
, another is set to use the latest release version, and I also have one set to run the latest snapshot. I'm not sure what the issue could be yet...
$ mscs status
Minecraft Server Status:
alpha: running version 1.14 (0 of 20 users online).
Process ID: 8722.
Memory used: 626232 kB.
beta: running version 1.14.1 (0 of 20 users online).
Process ID: 8938.
Memory used: 917272 kB.
lobby: running.
Process ID: 9143.
Memory used: 111132 kB.
snapshot: running version 1.14.2 Pre-Release 1 (0 of 20 users online).
Process ID: 9336.
Memory used: 946988 kB.
gamma: disabled.
@strmtrupr2 could you at least tell us which system you are running? Providing this should be standard for every report in order to be able to reproducing issues.
Yes, sorry:
[root@fedora mscs]# cat /etc/redhat-release
Fedora release 29 (Twenty Nine)
Thank you for your help!
Lets break that Perl code up to see where it is failing...
perl -0777ne '
use JSON;
my $json = decode_json ($_);
my $version;
foreach $ver (@{$json->{versions}}) {
$version = $ver if ($ver->{id} eq "1.14");
}
print $version->{url};
' /opt/mscs/version_manifest.json
That should print the URL to download metadata for version 1.14:
https://launchermeta.mojang.com/v1/packages/14f2ab0c190113affb75eb892936303a6c8654f2/1.14.json
Let me know if it doesn't.
perl -e 'use LWP::Simple; print get ("https://launchermeta.mojang.com/v1/packages/14f2ab0c190113affb75eb892936303a6c8654f2/1.14.json");'
That should print out the metadata in json format. Post the output of this command for me to look at.
I fired up a docker container with fedora 29 and the output is just empty.
This is perl 5, version 28, subversion 2 (v5.28.2) built for x86_64-linux-thread-multi
(with 48 registered patches, see perl -V for more detail)
I tried the same command on ArchLinux with the same version of perl and it works. Seems like one of those 48 patches is responsible?
e: tried with non-https link --> working now seems to be an issue with the fedora package (but found no report on the redhat bugzilla)
darn redhat perl package :(
the solution might be easier, its not a broken package, now I think you are just missing the plugins
try yum install perl-LWP-Protocol-https
the https plugin
e:
full dependency list for rpm based distros:
yum install java-1.8.0-openjdk perl perl-JSON perl-libwww-perl perl-LWP-Protocol-https python make wget rdiff-backup rsync socat
might be already on any workstation (but for minimal install those are not installed)
yum install git which sudo procps
Looks like I had all the packages listed installed already. Re-ran the update and the issue moved to line 11? Does that sound right?
[root@fedora mscs]# git pull Already up to date. [root@fedora mscs]# make update install -m 0755 msctl /usr/local/bin/msctl install -m 0755 mscs /usr/local/bin/mscs install -m 0644 mscs.completion /etc/bash_completion.d/mscs if which systemctl; then \ install -m 0644 mscs.service /etc/systemd/system/mscs.service; \ fi /usr/bin/systemctl [root@fedora mscs]# mscs update derber2019 find: cannot delete ‘/opt/mscs/version_manifest.json’: Permission denied The cached copy of the version manifest is up to date. Use the force-update option to ensure a new copy is downloaded. Stopping Minecraft Server:. Backing up Minecraft Server: derber2019. Updating Server Software: derber2019malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "(end of string)") at -e line 11. Error updating the Minecraft server software. [root@fedora mscs]#
[root@fedora mscs]# mscs update derber2019 find: cannot delete ‘/opt/mscs/version_manifest.json’: Permission denied
you should fix your permissions first
chown -R <minecraftuser> /opt/mscs
remind me, does it install by default with mcserver as the user or minecraft?
remind me, does it install by default with mcserver as the user or minecraft?
have a look in the first line of the Makefile ;)
perfect! it's minecraft, which is how I had my permissions set, and I couldn't figure out why it wasn't able to delete that file so finally I went up a directory level and noticed the main directory /opt/mscs did not have user write permissions, doh! changed that and it worked. :) thank you for your help - hit by the most common issue - permissions!!! sorry for that scott
Hi @strmtrupr2. Were you able to figure out the issue, or are there still problems that you need help with?
Yes! @sandain Thank you so much for your help!!
Scott
Yes! @sandain Thank you so much for your help!!
Scott
If your problem is solved, then you should press "Close Issue" ;)
Thanks for the help with this issue @conrad784. @strmtrupr2, I'm glad you got it working!
Hi, I saw some other issues and this is what I've done so far:
perl -0777ne ' use JSON; use LWP::Simple; my $json = decode_json ($_); my $version; foreach $ver (@{$json->{versions}}) { $version = $ver if ($ver->{id} eq "1.13.1"); } $json = decode_json (get ($version->{url})); print $json->{downloads}{server}{url}; ' /opt/mscs/version_manifest.json
This worked fine.perl -0777ne ' use JSON; use LWP::Simple; my $json = decode_json ($_); my $version; foreach $ver (@{$json->{versions}}) { $version = $ver if ($ver->{id} eq "1.14"); } $json = decode_json (get ($version->{url})); print $json->{downloads}{server}{url}; ' /opt/mscs/version_manifest.json
and it errored with this message:Any ideas?
Thanks,
Scott