[Support] binhex - Crafty


Recommended Posts

Overview: Support for Docker image arch-crafty in the binhex repo.

Application: Crafty Controller - https://craftycontrol.com/

Docker Hubhttps://hub.docker.com/r/binhex/arch-crafty/

GitHub: https://github.com/binhex/arch-crafty

Documentationhttps://github.com/binhex/documentation

 

If you appreciate my work, then please consider buying me a beer 😁
 

btn_donate_SM.gif
 

For other Docker support threads and requests, news and Docker template support for the binhex repository please use the "General" thread here

Link to comment

Just a quick note to new downloaders: there is no default password. It is generated when the docker is created. I just checked my log and found it near the bottom:
 

2021-05-19 06:43:21,280 INFO success: shutdown-script entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2021-05-19 06:43:21,281 INFO success: start-script entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2021-05-19 06:43:23,247 DEBG 'start-script' stdout output:
[+] Crafty: 2021-05-19 06:43:23 AM - INFO: Starting Scheduler Daemon

2021-05-19 06:43:23,248 DEBG 'start-script' stdout output:
[+] Crafty: 2021-05-19 06:43:23 AM - INFO: Generating a self signed SSL

2021-05-19 06:43:23,249 DEBG 'start-script' stdout output:
[+] Crafty: 2021-05-19 06:43:23 AM - INFO: Generating a key pair. This might take a moment.
2021-05-19 06:43:23,249 DEBG 'start-script' stdout output:

[+] Crafty: 2021-05-19 06:43:23 AM - INFO: Starting Tornado HTTPS Server https://00bdd8da2b71:8000

2021-05-19 06:43:23,249 DEBG 'start-script' stdout output:
[+] Crafty: 2021-05-19 06:43:23 AM - INFO: Please connect to https://00bdd8da2b71:8000 to continue the install:
[+] Crafty: 2021-05-19 06:43:23 AM - INFO: Your Username is: Admin
[+] Crafty: 2021-05-19 06:43:23 AM - INFO: Your Password is: ######
[+] Crafty: 2021-05-19 06:43:23 AM - INFO: Your Admin token is: ###########################################

2021-05-19 06:43:23,951 DEBG 'start-script' stdout output:
[+] Crafty: 2021-05-19 06:43:23 AM - INFO: Crafty Startup Procedure Complete

2021-05-19 06:43:23,952 DEBG 'start-script' stdout output:
[+] Crafty: 2021-05-19 06:43:23 AM - HELP: Type 'stop' or 'exit' to shutdown Crafty

Thanks for another excellent image @binhex!

  • Like 2
Link to comment
Posted (edited)

Hi,

 

Thank you for your work.

I just waited for a Web UI for my minecraft server.


One question : 

I try to create a server but it seems to be impossible because "Invalid Settings Detected: Server Path Does Not Exists".
I let all the settings by default. Where should I put my files ?

edit : I can create a server by entering in the binkex-crafty console (on the docker tab in unraid) and manually launching "python3.9 /opt/crafty/app/minecraft/mcservercreate.py". It ask me wich version/plugins and where I want to create my folder and I can copy these informations on the WebUI boxes. But it doesn't work anyway

Edited by NeoSlugman
Question added
Link to comment
Posted (edited)

In crafty, \config\ is mapped the appdata folder for this container, so create 2 folders in your appdata as follows:

 

...\appdata\binhex-crafty\crafty\servers\

...\appdata\binhex-crafty\crafty\backups\

 

In the relevant places in crafty, when it requires a location, use:

 

\config\crafty\servers\

or

\config\crafty\backups\

 

Edited by jj_uk
  • Like 1
Link to comment
10 hours ago, jj_uk said:

In crafty, \config\ is mapped the appdata folder for this container, so create 2 folders in your appdata as follows:

 

...\appdata\binhex-crafty\crafty\servers\

...\appdata\binhex-crafty\crafty\backups\

 

In the relevant places in crafty, when it requires a location, use:

 

\config\crafty\servers\

or

\config\crafty\backups\

 

 

glad you got it wokring. my issue is the server won't start i keep getting: Unable to find file to tail: /config/crafty/servers/logs/latest.log manully adding it does not solve the issue

Link to comment

ok been trying to get this working for hours now.

 

everytime i go to start the server it kicks over to the console and displays:

 

Unable to find file to tail: /config/crafty/servers/logs/latest.log

 

manually adding the file will make the message go away but the the server still does not start.

Link to comment

Ok after SEVERAL grusome hours i have fixed it.

 

First: change to Privileged mode in the unraid settings for the crafty container

2nd: make sure to make the logs folder and put the latest.log file in it (it can be blank)

 

so in your folder you made for your server it will be SERVERNAME/logs/latest.log

 

3rd made a server.properties file (also blank)

 

put this in the main SERVERNAME folder

 

4th make a eula.txt file and put this in it : eula=true

 

put this in the main SERVERNAME folder

 

it SHOULD boot right up after that.

 

wish i knew how broken this application was before trying it out. Not rocket science to have all these items premade no idea why the crafty developers don't already do this.

Link to comment

Is it possible to map a port range back to the container like with your minos container? It'd be useful for running types of server MC server under a single solution given the admin console supports it.

Other than that excellent work, and a nice upgrade from mineos which was showing it's age in terms of supported servers.

Link to comment
12 hours ago, SkinnySkelly said:

Ok after SEVERAL grusome hours i have fixed it.

 

First: change to Privileged mode in the unraid settings for the crafty container

2nd: make sure to make the logs folder and put the latest.log file in it (it can be blank)

 

so in your folder you made for your server it will be SERVERNAME/logs/latest.log

 

3rd made a server.properties file (also blank)

 

put this in the main SERVERNAME folder

 

4th make a eula.txt file and put this in it : eula=true

 

put this in the main SERVERNAME folder

 

it SHOULD boot right up after that.

 

wish i knew how broken this application was before trying it out. Not rocket science to have all these items premade no idea why the crafty developers don't already do this.

If you have a blank directory with just the jar in, when crafy kicks the jar off for the first time it should auto create everything you mentions above but fail to start the server until you make the edits (including setting the eula to true) that you want.

I had no issues with it, and for me, that side of things worked as expected first time. No different to if you kicked an MC server off the old fashioned way under screen etc.

Link to comment
14 hours ago, SkinnySkelly said:

First: change to Privileged mode in the unraid settings for the crafty container

not necessary, im running it non privileged.

 

14 hours ago, SkinnySkelly said:

2nd: make sure to make the logs folder and put the latest.log file in it (it can be blank)

so in your folder you made for your server it will be SERVERNAME/logs/latest.log

not necessary, the logs folder should be created for you (it was for me) once you walk through the initial setup.

 

14 hours ago, SkinnySkelly said:

3rd made a server.properties file (also blank)

agian not necessary, if you walk through the initial setup then it creates this file for you on a successful start of the server.

 

14 hours ago, SkinnySkelly said:

4th make a eula.txt file and put this in it : eula=true

you can do this, but you can do this through the web ui by going to files and using the web ui text editor built into crafty - see steps 6 and 7. below.

 

my guess with all your issues is that you didnt go through the initial setup of the first server correctly and thus folders and files were not created, on restart of the container the initial wizard is then not presented and you are then left not going what to do, am i right?.

 

i have just gone through a clean install of this to verify i didnt have anything that i had hand created that could mask any issues, and for me it went through without any issues, here are the only steps i took:-

 

1. start container

2. check /config/supervisord.log for initial login credentials and login to web ui

3. initial wizard - download minecraft jar file, for me this was the bog standard minecraft_server.jar and place in /config/crafty/servers/

4. initial wizard - change the name of the jar to match step 2.

5. initial wizard - save and finish

6. Go to Dashboard/files and click magnifying glass on eula.txt and change from 'eula=false' to 'eula=true'

7. save file and start server

8. go back to dashboard and note the server is running.

 

i will write up the following in a more formal state as a FAQ when i get some time.

 

for reference here is the screenshot of the initial wizard screen after i have configured it:-

image.png.b27b1f64c11433b8920b39236dd60bbb.png

 

 

Link to comment
13 minutes ago, g0nz0 said:

Is it possible to map a port range back to the container like with your minos container? It'd be useful for running types of server MC server under a single solution given the admin console supports it.

sure!, nothing stopping you adding additional ports to the container.

  • Like 1
Link to comment
2 minutes ago, binhex said:

sure!, nothing stopping you adding additional ports to the container.

Thanks. I'm too used to running raw docker or docker under rancher, so just trying to get to grips with how to do it under un-raid. But I know there are far less technically minded people around that this feature would be super useful for.

Link to comment
13 minutes ago, g0nz0 said:

Thanks. I'm too used to running raw docker or docker under rancher, so just trying to get to grips with how to do it under un-raid. But I know there are far less technically minded people around that this feature would be super useful for.

ok its fairly simple, unraid web ui/docker tab/left click and edit crafty container, scroll down to the bottom and click on 'Add another Path, Port, Variable, Label or Device' select config type of 'port' then define the container and host ports you want to add, if you want to do a range then use a hyphen between the port range, an example:-

 

image.png.4d7c296b939a8ce3cdf66adc313db1ce.png

 

click on save and apply.

  • Like 1
Link to comment
9 minutes ago, binhex said:

ok its fairly simple, unraid web ui/docker tab/left click and edit crafty container, scroll down to the bottom and click on 'Add another Path, Port, Variable, Label or Device' select config type of 'port' then define the container and host ports you want to add, if you want to do a range then use a hyphen between the port range, an example:-

 

image.png.4d7c296b939a8ce3cdf66adc313db1ce.png

 

click on save and apply.

Thanks, I hacked it in by adding an additional variable (-p <port range>:<port range>) in the advanced tab  which work, but this way looks more sensible. I'll update my config in a bit to use this method.

  • Like 1
Link to comment
On 5/25/2021 at 5:15 AM, binhex said:

not necessary, im running it non privileged.

 

not necessary, the logs folder should be created for you (it was for me) once you walk through the initial setup.

 

agian not necessary, if you walk through the initial setup then it creates this file for you on a successful start of the server.

 

you can do this, but you can do this through the web ui by going to files and using the web ui text editor built into crafty - see steps 6 and 7. below.

 

my guess with all your issues is that you didnt go through the initial setup of the first server correctly and thus folders and files were not created, on restart of the container the initial wizard is then not presented and you are then left not going what to do, am i right?.

 

i have just gone through a clean install of this to verify i didnt have anything that i had hand created that could mask any issues, and for me it went through without any issues, here are the only steps i took:-

 

1. start container

2. check /config/supervisord.log for initial login credentials and login to web ui

3. initial wizard - download minecraft jar file, for me this was the bog standard minecraft_server.jar and place in /config/crafty/servers/

4. initial wizard - change the name of the jar to match step 2.

5. initial wizard - save and finish

6. Go to Dashboard/files and click magnifying glass on eula.txt and change from 'eula=false' to 'eula=true'

7. save file and start server

8. go back to dashboard and note the server is running.

 

i will write up the following in a more formal state as a FAQ when i get some time.

 

for reference here is the screenshot of the initial wizard screen after i have configured it:-

image.png.b27b1f64c11433b8920b39236dd60bbb.png

 

 

Ok i just did a complete fresh install of crafty and yet again same exact issues. I don't know why yours is working and mine is not. No big deal i guess. Not much extra work to get it working.

one thing i noticed is it only is doing it with the first initial server. adding more after that the issues do not arise.

Link to comment
Posted (edited)
On 5/25/2021 at 12:15 PM, binhex said:

1. start container

2. check /config/supervisord.log for initial login credentials and login to web ui

3. initial wizard - download minecraft jar file, for me this was the bog standard minecraft_server.jar and place in /config/crafty/servers/

4. initial wizard - change the name of the jar to match step 2.

5. initial wizard - save and finish

6. Go to Dashboard/files and click magnifying glass on eula.txt and change from 'eula=false' to 'eula=true'

7. save file and start server

8. go back to dashboard and note the server is running.

 


Very weird.

When I first installed this, before reading this thread, I just changed the port (because it was occupied), started the container and it started fine, presenting me the login screen.

I logged in (found the pass), then after the step that I needed to configure the server and clicked to proceed, it crashed (404!)...
I went to initial page again, logged in again and now I was in dashboard, but with 0 servers defined (as my configure server step seemingly crashed).
So before adding a server, I went through the other settings. I changed Admin password, made another admin etc.

 

Also changed the port WITHIN the dashboard configuration, as it showed the original port 8000 (so is there a bug there?), to match the port I had in the container configuration (is this correct?).

 

In any case, I tried adding a server once more.
After I tried, since I had not read your instructions, I just left most settings default.

- I used a server name with spaces ("Something Blah Blah"). Is this bad?


- I left default path, which I cannot remember but was NOT what you show in the pic above.

- I left default jar, which I think was paperclip.jar. NOTE, I haven't manually downloaded ANY server jar, as I expected this to do it automatically or something. It defaults to "paperclip.jar".

- It failed again, this time with "Invalid Settings Detected: Server Path Does Not Exists".

- I tried to restart the container. Well... that was the last time I saw it.

...container starts but web GUI doesn't work ever.


- I removed the whole container and re-added it (again only changed port), only to find that AGAIN GUI didn't work at all! BEFORE me doing anything (but container runs).

- This time the log doesn't show any login info.

...so what to do next? Remove again and do some appdata clean up first?

Also (provided I get a GUI again), can you elaborate on step #3?
 

OK EDIT:

Cleaning up appdata helped.

I did the steps as you listed them.

This time the create server step went forward.

Server started.

Now to see how to actually use it (especially looking for the "launcher" part...).

Edited by NLS
Link to comment
Posted (edited)

Is it possible to map in a different path so that backups don't get saved in appdata?  Backups can be very large and I don't want them in appdata because a) they'll use up a chuck of my cache drive and b) my appdata folder gets backed up and sent to the cloud, so needs to be as small as possible.

Edited by jj_uk
Link to comment
2 hours ago, jj_uk said:

Is it possible to map in a different path so that backups don't get saved in appdata?  Backups can be very large and I don't want them in appdata because a) they'll use up a chuck of my cache drive and b) my appdata folder gets backed up and sent to the cloud, so needs to be as small as possible.

 

Was planning to ask the same thing!

I guess if you add a path in container configuration, it will be able to be seen by the server.

 

Link to comment
Posted (edited)

Minecraft cant access the MC server (in the container). The ports are correct (left at default, 19132, 25565 and 8000).

In server.properties, server-ip=127.0.0.1

 

Not sure what else to try?

 

EDIT: 

server-ip needs to be:

server-ip=0.0.0.0

Edited by jj_uk
Link to comment
 
Was planning to ask the same thing!
I guess if you add a path in container configuration, it will be able to be seen by the server.
 
That would work, if you think more people may be after this then I can add a /data volume (pointing to /mnt/user/) to the template so that new users will have this available

Sent from my CLT-L09 using Tapatalk

  • Like 1
Link to comment
Posted (edited)

Same here. I pointed /backups to my minecraft backup share.

 

Maybe in the template add /backups in container but leave the unraid path blank so people dont accidentally give crafty full RW privileges to their server.

Edited by jj_uk
Link to comment
Posted (edited)

Struggling to get 1.17 Pre 4 to start. 

"app.classes.webhookmgr - No webhooks to call for command start_mc_server"

Haven't tried with any previous versions as of yet. Not sure if issue running the latest release(s) or if there is an issue calling servers full stop.

 

2021-06-02 15:40:12,949 - [Crafty] - INFO     - app.classes.minecraft_server - Reloading MC Settings from the DB
2021-06-02 15:40:13,238 - [Crafty] - INFO     - app.classes.remote_coms - Remote Command "start_mc_server" found for server "LydoMC" from source localhost. Executing!
2021-06-02 15:40:13,241 - [Crafty] - INFO     - app.classes.helpers - /config/crafty/servers/tempfile.txt is writable
2021-06-02 15:40:13,242 - [Crafty] - INFO     - app.classes.minecraft_server - Launching Minecraft server LydoMC with command java -Xms1024M -Xmx2048M  -jar /config/crafty/servers/server.jar nogui 
2021-06-02 15:40:13,242 - [Crafty] - INFO     - app.classes.minecraft_server - Linux Detected - launching Bash
2021-06-02 15:40:13,247 - [Crafty] - INFO     - app.classes.minecraft_server - Changing directory to /config/crafty/servers
2021-06-02 15:40:13,247 - [Crafty] - INFO     - app.classes.minecraft_server - Sending server start command: java -Xms1024M -Xmx2048M  -jar /config/crafty/servers/server.jar nogui  to shell
2021-06-02 15:40:15,248 - [Crafty] - INFO     - app.classes.webhookmgr - No webhooks to call for command start_mc_server
2021-06-02 15:40:15,248 - [Crafty] - INFO     - app.classes.remote_coms - Clearing all Remote Commands

 

image.png.283750a5de8a6143e36762df23cf2236.png

 

 

EULA=True

latest.log is empty

server.properties configured from previous server details (server-ip = 0.0.0.0)

 

Not sure what else to try, any ideas?

 

UPDATE: Copied over a 1.16.5 Jar and it launched, but only while running in Privileged Mode. Suspect I've either missed some permission setting or some such..... but I'll await response to be sure.

Edited by Lydo
Update
Link to comment
12 hours ago, Lydo said:

UPDATE: Copied over a 1.16.5 Jar and it launched, but only while running in Privileged Mode.

hmm  i suspect this is your issue (yes its link to minecraftserver thread, but the issue i believe is the same):- 

https://forums.unraid.net/topic/84880-support-binhex-minecraftserver/?do=findComment&comment=967922

 

so the question is, what version of unraid are you running?.

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.