[Support] binhex - Crafty


Recommended Posts

  • 1 month later...
1 hour ago, Timbiotic said:

how do i make it start ANYTHING but 1.17?  Crafty, and Minecraftserver only want to start 1.17 even when explicitly naming 1.16.5 custom jar

i get your frustrated but crafty does not include ANY jar version 1.17 or anything else, you supply the jar file for crafty and set the java version, so its up to you to decide what version it runs. i have seen your other posts in minecraftserver and that optfine jar does not work for me as a replacement for the official jar, so i can only assume its either a incomplete download or it requires further steps to integrate into minecraft.

Link to comment
  • 5 weeks later...
  • 3 weeks later...

I'm trying (again) to get this puppy going. I'm having issues with file paths. I have several servers that are running inside Crafty Controller Docker.

 

This world I want to get going is called "goats" and is a 1.17 world 

Server name: goats

Server Path: /config/crafty/servers/goats

Server Jar: ../paper-1.17.1-257.jar

Java Path: /usr/lib/jvm/java-16-openjdk/bin/java

 

I want the world files to be in

/config/crafty/servers/goats/region/XXXXXXX.mca

 

But this one creates /config/crafty/servers/goats/goats/region/XX.mca's

 

Also: the server.properties, I'd like that to be in a subfolder, /config/crafty/servers/goats, rather than /config/crafty/servers

 

One other odd problem I'm having: when I go to the Server Config, on the right block, it says "The server will be launched using this string:
/usr/lib/jvm/java-16-openjdk/bin/java -Xms1024M -Xmx2048M -jar /config/crafty/servers/goats/../paper-1.17.1-257.jar nogui"

When I hit Run, on the previous page, it doesn't do anything, just hangs there. But when I run the Terminal from the Docker, I can paste in the long command, and it works great.

 

I think this has to do with my lack of understanding the paths here.

settings.png.da8cb8df7927b3594b4bec71d8bdf713.png

Link to comment

So it seems after I finally got everything set up and went to create a schedule for backups, it borked the server. I have a feeling the answer is going to be delete the DB and start over, but wanted to confirm if there was another way. This is from the container logs:

2021-09-18 16:41:50,537 DEBG 'start-script' stderr output:
Traceback (most recent call last):
File "/opt/crafty/crafty.py", line 308, in <module>

2021-09-18 16:41:50,538 DEBG 'start-script' stderr output:
multi.reload_scheduling()
File "/opt/crafty/app/classes/multiserv.py", line 93, in reload_scheduling
self.reload_user_schedules()
File "/opt/crafty/app/classes/multiserv.py", line 112, in reload_user_schedules
helper.scheduler(task, svr_obj)
File "/opt/crafty/app/classes/helpers.py", line 1306, in scheduler

2021-09-18 16:41:50,538 DEBG 'start-script' stderr output:
schedule.every(task.interval).monday.do(mc_server_obj.backup_server).tag('user')
File "/opt/crafty/env/lib/python3.9/site-packages/schedule/__init__.py", line 302, in monday
raise IntervalError('Use mondays instead of monday')
schedule.IntervalError: Use mondays instead of monday

2021-09-18 16:41:50,584 DEBG fd 11 closed, stopped monitoring <POutputDispatcher at 22962550325200 for <Subprocess at 22962550324528 with name start-script in state RUNNING> (stdout)>
2021-09-18 16:41:50,584 DEBG fd 15 closed, stopped monitoring <POutputDispatcher at 22962550007648 for <Subprocess at 22962550324528 with name start-script in state RUNNING> (stderr)>
2021-09-18 16:41:50,584 INFO exited: start-script (exit status 1; not expected)
2021-09-18 16:41:50,585 DEBG received SIGCHLD indicating a child quit

 

Thanks for looking.

Edited by muslimsteel
Link to comment
On 9/11/2021 at 1:29 AM, dkerlee said:

One other odd problem I'm having: when I go to the Server Config, on the right block, it says "The server will be launched using this string:
/usr/lib/jvm/java-16-openjdk/bin/java -Xms1024M -Xmx2048M -jar /config/crafty/servers/goats/../paper-1.17.1-257.jar nogui"

When I hit Run, on the previous page, it doesn't do anything, just hangs there. But when I run the Terminal from the Docker, I can paste in the long command, and it works great.

 

I think this has to do with my lack of understanding the paths here.

Yup, the path you are specifying in the Server Jar field is not correct, you should just type the name of your jar file, that's it

 

immagine.png.fd07ddeeec7b2eb1a4da967ca606281d.png

The config on the side should look something like this

Link to comment
11 hours ago, dkerlee said:

@muslimsteel first of all, amazing handle. Secondly, adjacent to your question, for backups I use this Google drive plugin that works great. 
https://www.spigotmc.org/resources/drivebackupv2.79519

 

 

Thanks for the complement and tip! I will use that going forward. It seems that @galluno may have called out the bug that I hit. Is there any way to recover from that?

  • Like 1
Link to comment
On 9/20/2021 at 5:17 PM, galluno said:

@binhex sorry to bother you, but there has been an update of Crafty Controller a while ago, could you update your image as well? It fixes an annoying bug where Crafty crashes after deleting a server with tasks (backup or else)

im in discussion with crafty dev, im hoping they can fix their broken sync from gitlan to github, when that happens i will push the button to force an update.

  • Like 1
  • Thanks 1
Link to comment
7 hours ago, binhex said:

im in discussion with crafty dev, im hoping they can fix their broken sync from gitlan to github, when that happens i will push the button to force an update.

i worked around the problem for now by importing the gitlab repo and creating a sync myself using github actions, works a treat :-), let crafty dev's know this is an option, so i have built a new image and if you pull you should be up to date with latest changes to branch master.

Link to comment
46 minutes ago, binhex said:

i worked around the problem for now by importing the gitlab repo and creating a sync myself using github actions, works a treat :-), let crafty dev's know this is an option, so i have built a new image and if you pull you should be up to date with latest changes to branch master.

I am not seeing an update to the image available, it says up-to-date currently, unless I am missing something.

Link to comment
37 minutes ago, binhex said:

click on  advanced view then 'force update'

Thanks did that, the error seems a bit different but is still persisting where it won't start up, I am thinking that I may just blow away the DB and start over:

2021-09-23 13:22:51,930 DEBG 'start-script' stderr output:
Traceback (most recent call last):
File "/opt/crafty/crafty.py", line 311, in <module>

2021-09-23 13:22:51,931 DEBG 'start-script' stderr output:
multi.reload_scheduling()
File "/opt/crafty/app/classes/multiserv.py", line 93, in reload_scheduling
self.reload_user_schedules()
File "/opt/crafty/app/classes/multiserv.py", line 112, in reload_user_schedules
helper.scheduler(task, svr_obj)
File "/opt/crafty/app/classes/helpers.py", line 1306, in scheduler

2021-09-23 13:22:51,931 DEBG 'start-script' stderr output:
schedule.every(task.interval).monday.do(mc_server_obj.backup_server).tag('user')

2021-09-23 13:22:51,932 DEBG 'start-script' stderr output:
File "/opt/crafty/env/lib/python3.9/site-packages/schedule/__init__.py", line 322, in monday

2021-09-23 13:22:51,932 DEBG 'start-script' stderr output:
raise IntervalError('Use mondays instead of monday')
schedule.IntervalError: Use mondays instead of monday

2021-09-23 13:22:51,971 DEBG fd 11 closed, stopped monitoring <POutputDispatcher at 23132065632560 for <Subprocess at 23132065480272 with name start-script in state RUNNING> (stdout)>
2021-09-23 13:22:51,972 DEBG fd 15 closed, stopped monitoring <POutputDispatcher at 23132065671296 for <Subprocess at 23132065480272 with name start-script in state RUNNING> (stderr)>
2021-09-23 13:22:51,972 INFO exited: start-script (exit status 1; not expected)
2021-09-23 13:22:51,972 DEBG received SIGCHLD indicating a child quit

 

Link to comment
19 minutes ago, muslimsteel said:

Thanks did that, the error seems a bit different but is still persisting where it won't start up, I am thinking that I may just blow away the DB and start over:

your issue is not a bug in the release its due to you misconfiguring crafty, which sadly you cant easily correct. the setting you need to fix is in the sqlite database.

 

you could try this:-

1.stop container

2. install SQLite Expert Personal

3. point it at the crafty database file

4. click on 'schedules' then click on menu item 'Object/'Empty Table schedules'

5. click on file/close database shuld prompt you to save changes, say yes

6. start crafty and cross fingers!.

screenshot for ref on my system, note my table is empty (no schedules defined)

image.png.ab8685131cfcedfba6257be202c34385.png

Link to comment
15 minutes ago, binhex said:

your issue is not a bug in the release its due to you misconfiguring crafty, which sadly you cant easily correct. the setting you need to fix is in the sqlite database.

 

you could try this:-

1.stop container

2. install SQLite Expert Personal

3. point it at the crafty database file

4. click on 'schedules' then click on menu item 'Object/'Empty Table schedules'

5. click on file/close database shuld prompt you to save changes, say yes

6. start crafty and cross fingers!.

screenshot for ref on my system:-

image.png.ab8685131cfcedfba6257be202c34385.png

You rock, thank you that worked like a charm!

Link to comment

Something not ok after the update...

 

I am trying to start my world server and when I click ">" it takes me to Virtual Console, where I see no new entries.
It just doesn't start it, no errors, no anything.

 

EDIT:

In crafty.log I see this:

2021-09-23 22:17:00,862 - [Crafty] - CRITICAL - app.classes.minecraft_server - Minecraft server Java path does not exist...

(Server was running fine before the update)

 

EDIT #2:
This is the path I have set for java (and again: was working before the update):

/usr/lib/jvm/java-16-openjdk/bin/java

 

EDIT #3:

I reverted the path to a simple "java" (as it was before 1.17).
This allows the server to start... but not really.
It is "green" but clients cannot connect to it any more! (the world and clients are 1.17.1)

 

Edited by NLS
Link to comment
1 hour ago, binhex said:

a pleasure :-), i would keep SQLite Expert Personal installed if i were you, its super handy as most apps store data in sqlite (plex, sonarr, radarr, etc)

A little out of topic but I recommend keeping dBeaver Community Edition around for these kinds of purposes (and it also works with a bunch of other DBs as well).

Link to comment
19 minutes ago, NLS said:

Something not ok after the update...

 

I am trying to start my world server and when I click ">" it takes me to Virtual Console, where I see no new entries.
It just doesn't start it, no errors, no anything.

 

EDIT:

In crafty.log I see this:

2021-09-23 22:17:00,862 - [Crafty] - CRITICAL - app.classes.minecraft_server - Minecraft server Java path does not exist...

(Server was running fine before the update)

 

EDIT #2:
This is the path I have set for java (and again: was working before the update):

/usr/lib/jvm/java-16-openjdk/bin/java

 

EDIT #3:

I reverted the path to a simple "java" (as it was before 1.17).
This allows the server to start... but not really.
It is "green" but clients cannot connect to it any more! (the world and clients are 1.17.1)

 

I ran into this as well @NLS. It seems that they upgraded Java on the container, so now the new path is:
 

/usr/lib/jvm/java-17-openjdk/bin/java

 

EDIT:
I had to change that on all my servers, and then some still wouldn't start, so I rebooted the container and all was well after that.

Edited by muslimsteel
Link to comment
54 minutes ago, muslimsteel said:

I ran into this as well @NLS. It seems that they upgraded Java on the container, so now the new path is:
 

/usr/lib/jvm/java-17-openjdk/bin/java
 

 

EDIT:
I had to change that on all my servers, and then some still wouldn't start, so I rebooted the container and all was well after that.

 

Thanks this worked for me too.

I would have found it, but when I ls /usr/lib there was no folder jvm in it... apparently there is.

 

Link to comment
12 hours ago, muslimsteel said:

I ran into this as well @NLS. It seems that they upgraded Java on the container, so now the new path is:
 

/usr/lib/jvm/java-17-openjdk/bin/java

i ran into similar java related issues with my other two docker images, mineos-node and minecraftserver, in the end i included all 3 java versions in the image, the reason being that you may run a mix of minecraft servers and thus may need java 8 for minecraft 1.16 or earlier and java 16 for minecraft 1.17 or later and perhaps java 11 for the ui (is the case for mineos-node). so with that in mind i created env vars to allow you to dictate the default verison of java, i think i will do the same for this image too, i will give you some details later.

 

Link to comment
2 hours ago, binhex said:

i think i will do the same for this image too, i will give you some details later.

ok this change is now in and the image is built, please pull down the latest image, to define the default version of java please create a Key with the name JAVA_VERSION and set the value to be either 8, 11, or 16, if you are unsure how to create env vars using unraid then take a look at Q8:- https://github.com/binhex/documentation/blob/master/docker/faq/unraid.md

  • Like 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.