Jump to content

Multicraft Does Not Pick Daemon


astroroxy

Recommended Posts

Hello,

 

Normally billing panels such as whmcs will have multicraft auto select a daemon.

 

The module is unable to do that. It seems to select daemon 1, even though there is no such daemon.

 

Config is proper on multicraft side, works fine with whmcs.

 

 

Multicraft log

2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:refresh" to daemon 1
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] API: Created model Server, 173
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:load command 2987" to daemon 1
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:load command 2988" to daemon 1
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:load command 2989" to daemon 1
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:load command 2990" to daemon 1
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:load command 2991" to daemon 1
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:load command 2992" to daemon 1
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:load command 2993" to daemon 1
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:load command 2994" to daemon 1
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:load command 2995" to daemon 1
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:load command 2996" to daemon 1
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:load command 2997" to daemon 1
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:load command 2998" to daemon 1
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:load command 2999" to daemon 1
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:load command 3000" to daemon 1
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:load command 3001" to daemon 1
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:load command 3002" to daemon 1
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:load command 3003" to daemon 1
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:run_s:builtin:script setup" to daemon 1
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] API: Setting owner of server 173 to 3
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] Changing owner of server 173 from  to 3
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] API: Updating model Server, 173
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:refresh" to daemon 1
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] API: Updating model Server, 173
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:refresh" to daemon 1
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] API: Updating model Server, 173
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:refresh" to daemon 1
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] API: Updating model Server, 173
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:refresh" to daemon 1
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] API: Updating model Server, 173
2014/06/28 00:42:01 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:refresh" to daemon 1
2014/06/28 00:42:02 [info] [application] [User 18, 64.90.52.151] API: Updating model Server, 173
2014/06/28 00:42:02 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:refresh" to daemon 1
2014/06/28 00:42:02 [info] [application] [User 18, 64.90.52.151] API: Updating model Server, 173
2014/06/28 00:42:02 [info] [application] [User 18, 64.90.52.151] Sending command "server 173:refresh" to daemon 1
2014/06/28 00:42:02 [info] [application] [User 18, 64.90.52.151] API: Updating model ServerConfig, 173
2014/06/28 00:42:02 [info] [application] [User 18, 64.90.52.151] API: Updating model ServerConfig, 173
2014/06/28 00:42:02 [info] [application] [User 18, 64.90.52.151] API: Updating model ServerConfig, 173
2014/06/28 00:42:02 [info] [application] [User 18, 64.90.52.151] API: Updating model ServerConfig, 173
2014/06/28 00:42:03 [info] [application] [User 18, 64.90.52.151] API: Updating model ServerConfig, 173
2014/06/28 00:42:03 [info] [application] [User 18, 64.90.52.151] API: Updating model ServerConfig, 173
2014/06/28 00:42:03 [info] [application] [User 18, 64.90.52.151] API: Setting FTP access for server 173 of user 3 to rw

Blesta Module Log

https://multicraft.com/api.php|findUsers
a:2:{i:0;s:4:"name";i:1;s:19:"multicraft@gmail.com";}
https://multicraft.com/api.php|findUsers
s:48:"{"success":true,"errors":[],"data":{"Users":[]}}";
https://multicraft.com/api.php|createUser
a:3:{i:0;s:19:"multicraft@gmail.com";i:1;s:19:"multicraft@gmail.com";i:2;s:12:"IMBIK(x(u52@";}
https://multicraft.com/api.php|createUser
s:48:"{"success":true,"errors":[],"data":{"id":"139"}}";
https://multicraft.com/api.php|createServer
a:4:{i:0;s:0:"";i:1;s:0:"";i:2;s:0:"";i:3;s:2:"10";}
https://multicraft.com/api.php|createServer
s:48:"{"success":true,"errors":[],"data":{"id":"174"}}";
https://multicraft.com/api.php|setServerOwner
a:2:{i:0;s:3:"174";i:1;s:3:"139";}
https://multicraft.com/api.php|setServerOwner
s:38:"{"success":true,"errors":[],"data":[]}";
https://multicraft.com/api.php|updateServer
a:3:{i:0;s:3:"174";i:1;s:4:"name";i:2;s:16:"Minecraft Server";}
https://multicraft.com/api.php|updateServer
s:38:"{"success":true,"errors":[],"data":[]}";
https://multicraft.com/api.php|updateServer
a:3:{i:0;s:3:"174";i:1;s:9:"autostart";i:2;s:1:"0";}
https://multicraft.com/api.php|updateServer
s:38:"{"success":true,"errors":[],"data":[]}";
https://multicraft.com/api.php|updateServer
a:3:{i:0;s:3:"174";i:1;s:13:"default_level";i:2;s:2:"10";}
https://multicraft.com/api.php|updateServer
s:38:"{"success":true,"errors":[],"data":[]}";
https://multicraft.com/api.php|updateServer
a:3:{i:0;s:3:"174";i:1;s:7:"jarfile";i:2;s:0:"";}
https://multicraft.com/api.php|updateServer
s:38:"{"success":true,"errors":[],"data":[]}";
https://multicraft.com/api.php|updateServer
a:3:{i:0;s:3:"174";i:1;s:6:"jardir";i:2;s:6:"server";}
https://multicraft.com/api.php|updateServer
s:38:"{"success":true,"errors":[],"data":[]}";
https://multicraft.com/api.php|updateServer
a:3:{i:0;s:3:"174";i:1;s:6:"memory";i:2;s:3:"512";}
https://multicraft.com/api.php|updateServer
s:38:"{"success":true,"errors":[],"data":[]}";
https://multicraft.com/api.php|updateServer
a:3:{i:0;s:3:"174";i:1;s:7:"players";i:2;s:2:"10";}
https://multicraft.com/api.php|updateServer
s:38:"{"success":true,"errors":[],"data":[]}";
https://multicraft.com/api.php|updateServerConfig
a:3:{i:0;s:3:"174";i:1;s:8:"user_ftp";i:2;s:1:"0";}
https://multicraft.com/api.php|updateServerConfig
s:38:"{"success":true,"errors":[],"data":[]}";
https://multicraft.com/api.php|updateServerConfig
a:3:{i:0;s:3:"174";i:1;s:8:"user_jar";i:2;s:1:"1";}
https://multicraft.com/api.php|updateServerConfig
s:38:"{"success":true,"errors":[],"data":[]}";
https://multicraft.com/api.php|updateServerConfig
a:3:{i:0;s:3:"174";i:1;s:7:"visible";i:2;s:1:"0";}
https://multicraft.com/api.php|updateServerConfig
s:38:"{"success":true,"errors":[],"data":[]}";
https://multicraft.com/api.php|updateServerConfig
a:3:{i:0;s:3:"174";i:1;s:13:"user_schedule";i:2;s:1:"1";}
https://multicraft.com/api.php|updateServerConfig
s:38:"{"success":true,"errors":[],"data":[]}";
https://multicraft.com/api.php|updateServerConfig
a:3:{i:0;s:3:"174";i:1;s:9:"user_name";i:2;s:1:"1";}
https://multicraft.com/api.php|updateServerConfig
s:38:"{"success":true,"errors":[],"data":[]}";
https://multicraft.com/api.php|updateServerConfig
a:3:{i:0;s:3:"174";i:1;s:15:"user_visibility";i:2;s:1:"1";}
https://multicraft.com/api.php|updateServerConfig
s:38:"{"success":true,"errors":[],"data":[]}";
https://multicraft.com/api.php|setUserFtpAccess
a:3:{i:0;s:3:"139";i:1;s:3:"174";i:2;s:2:"rw";}
https://multicraft.com/api.php|setUserFtpAccess
s:38:"{"success":true,"errors":[],"data":[]}";
https://multicraft.com/api.php|getServer
a:1:{i:0;s:3:"174";}
https://multicraft.com/api.php|getServer
s:341:"{"success":true,"errors":[],"data":{"Server":{"memory":"512","start_memory":"0","port":"25565","id":"174","name":"Minecraft Server","ip":"","dir":"server174","world":"","players":"10","jarfile":"","autostart":"0","default_level":"10","daemon_id":"1","announce_save":"1","kick_delay":"3000","suspended":"0","autosave":"1","jardir":"server"}}}";



Edited for safty
Link to comment
Share on other sites

Do you have any configurable options for daemon_id? See http://docs.blesta.com/display/user/Multicraft

 

I recall running into a similar issue, and Tyson has made some changes to the module that have not been released on the forums, including but not limited to:

 

CORE-1291

CORE-1292

 

I'd like to see what Tyson thinks after reviewing your report, but also wonder if you have an environment with multiple daemon's we can test in? Our Multicraft dev environment has only 1 daemon.

Link to comment
Share on other sites

Based on the module logs you included, Blesta specified no daemon ID, and so Multicraft determined one to use instead. I don't know why Multicraft would choose an invalid daemon ID.

 

Blesta only sets a daemon ID if specified as a configurable option, or if you are using one of your explicitly-defined dedicated IPs set in the module, but it looks like you've done neither.

Link to comment
Share on other sites

I tried with whmcs, and it worked fine.

While I was unable to get the api requests from whmcs, I was able to get the multicraft side:

2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:refresh" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] API: Created model Server, 178
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3072" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3073" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3074" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3075" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3076" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3077" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3078" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3079" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3080" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3081" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3082" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3083" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3084" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3085" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3086" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3087" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3088" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:run_s:builtin:script setup" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] API: Updating model Server, 178
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:refresh" to daemon 2
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:refresh" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] API: Updating model ServerConfig, 178
2014/06/30 12:49:43 [info] [application] [User 18, 64.90.52.151] API: Setting owner of server 178 to 139
2014/06/30 12:49:43 [info] [application] [User 18, 64.90.52.151] Changing owner of server 178 from  to 139
2014/06/30 12:49:43 [info] [application] [User 18, 64.90.52.151] API: Setting FTP access for server 178 of user 139 to rw
2014/06/30 12:49:43 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load player 40719" to daemon 2
2014/06/30 12:49:43 [info] [application] [User 18, 64.90.52.151] API: Created model Player, 40719
2014/06/30 12:49:43 [info] [application] [User 18, 64.90.52.151] API: Assigning player 40719 to user 139
2014/06/30 12:49:43 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load player 40719" to daemon 2

Link to comment
Share on other sites

Interestingly, your log mentions both daemon 1 and daemon 2.

​I think we need to know why Multicraft is not choosing a valid Daemon ID for you, when none is passed in to the API.

 

I would suggest doing a test by creating a configurable option for daemon_id to specify the Daemon ID, and see if it works. Docs on creating a config option for this are here -- http://docs.blesta.com/display/user/Multicraft#Multicraft-CreatingConfigurableOptions Whether this works or not should tell us something.

Link to comment
Share on other sites

Interestingly, your log mentions both daemon 1 and daemon 2.

​I think we need to know why Multicraft is not choosing a valid Daemon ID for you, when none is passed in to the API.

 

I would suggest doing a test by creating a configurable option for daemon_id to specify the Daemon ID, and see if it works. Docs on creating a config option for this are here -- http://docs.blesta.com/display/user/Multicraft#Multicraft-CreatingConfigurableOptions Whether this works or not should tell us something.

Will do,

 

It also seems as though http://dev.blesta.com/browse/CORE-1329 will kinda solve my issue.

Link to comment
Share on other sites

Will do,

 

It also seems as though http://dev.blesta.com/browse/CORE-1329 will kinda solve my issue.

 

I don't think that would solve the issue, since it would only use daemon ID's you explicitly set, while the problem appears to be how a daemon ID is chosen when not explicitly defined.

 

 

 

I tried with whmcs, and it worked fine.

While I was unable to get the api requests from whmcs, I was able to get the multicraft side:

2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:refresh" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] API: Created model Server, 178
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3072" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3073" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3074" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3075" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3076" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3077" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3078" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3079" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3080" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3081" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3082" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3083" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3084" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3085" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3086" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3087" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load command 3088" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:run_s:builtin:script setup" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] API: Updating model Server, 178
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:refresh" to daemon 2
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:refresh" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] API: Updating model ServerConfig, 178
2014/06/30 12:49:43 [info] [application] [User 18, 64.90.52.151] API: Setting owner of server 178 to 139
2014/06/30 12:49:43 [info] [application] [User 18, 64.90.52.151] Changing owner of server 178 from  to 139
2014/06/30 12:49:43 [info] [application] [User 18, 64.90.52.151] API: Setting FTP access for server 178 of user 139 to rw
2014/06/30 12:49:43 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load player 40719" to daemon 2
2014/06/30 12:49:43 [info] [application] [User 18, 64.90.52.151] API: Created model Player, 40719
2014/06/30 12:49:43 [info] [application] [User 18, 64.90.52.151] API: Assigning player 40719 to user 139
2014/06/30 12:49:43 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:load player 40719" to daemon 2

 

Based on how I think I understand the Multicraft logs, I think WHMCS is sending an update to change the daemon ID.

 

The first command was to create the server, which it added automatically to daemon 1:

2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:refresh" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] API: Created model Server, 178

Then a second API command was sent from WHMCS to update the server to change the daemon ID to 2:

2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] API: Updating model Server, 178
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:refresh" to daemon 2
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:refresh" to daemon 1

This leads me to believe that it auto-provisioned it on daemon ID 1 anyway, but that WHMCS changed it to daemon ID 2 afterward. How/why it changed the daemon is the question. Do you know if you defined daemon ID(s) in WHMCS for it to create the server on?

Link to comment
Share on other sites

I don't think that would solve the issue, since it would only use daemon ID's you explicitly set, while the problem appears to be how a daemon ID is chosen when not explicitly defined.

 True, but it is a workaround that would work.

Based on how I think I understand the Multicraft logs, I think WHMCS is sending an update to change the daemon ID.

 

The first command was to create the server, which it added automatically to daemon 1:

2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:refresh" to daemon 1
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] API: Created model Server, 178
Then a second API command was sent from WHMCS to update the server to change the daemon ID to 2:

2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] API: Updating model Server, 178
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:refresh" to daemon 2
2014/06/30 12:49:42 [info] [application] [User 18, 64.90.52.151] Sending command "server 178:refresh" to daemon 1
This leads me to believe that it auto-provisioned it on daemon ID 1 anyway, but that WHMCS changed it to daemon ID 2 afterward. How/why it changed the daemon is the question. Do you know if you defined daemon ID(s) in WHMCS for it to create the server on?

I have no idea how whmcs did that. I did not define any daemon IDs.(Maybe it has to do with ram calculation?)

temp.png

If only I could get the logs from WHMCS/Multicraft module.

Link to comment
Share on other sites

  • 4 weeks later...

So the deamon ID was erroneously set to 'localhost', and so it defaulted to the Multicraft default daemon?

 

Where was the daemon ID set to 'localhost' at?

Now that is the million dollar question.

I have not ever used localhost in any configs.

I found this out by deleting the sever in multicraft. I noticed that it oddly said that the daemon was localhost not a number.

Link to comment
Share on other sites

  • 4 weeks later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...