Trouble getting server started

More
12 Nov 2015 04:20 #1 by Nummsk
I have been trying to play with this, and I am having some trouble getting things up and running:

I loaded the database template.. I tried to turn on the debugging, but I can't see much to help me figure out whats going on.

Thu Nov 12 04:07:24 loaded: ./plugins/user.socket.js <font size=10>color, buf, do, snd, send, Send, sendGMCP, receiveGMCP, sendJSON, receiveJSON, oob, immo, imp, builder</font>
Thu Nov 12 04:07:24 debug: world.init
Thu Nov 12 04:07:24 nfo: world.init: loaded map A Humble Guildhouse: 15x9 accessible rooms: 113/135
Thu Nov 12 04:07:24 nfo: world.init: loaded map A Humble Home: 14x9 accessible rooms: 32/126
Thu Nov 12 04:07:24 nfo: world.init: loaded map Calandor Temple: 14x14 accessible rooms: 119/196
Thu Nov 12 04:07:24 nfo: world.init: loaded map Calandor: 102x62 accessible rooms: 6314/6324
Thu Nov 12 04:07:24 nfo: world.init: Finished loading maps
havoc emitting init
Thu Nov 12 04:07:24 char received init from user
Thu Nov 12 04:07:24 debug: char.initDB
Thu Nov 12 04:07:24 debug: item initDB
/opt/node/Havoc/components/item.js:184
.catch(function(err) {
^
TypeError: Cannot read property 'catch' of undefined
at EventEmitter.module.exports.initDB (/opt/node/Havoc/components/item.js:184:3)
at EventEmitter.emit (events.js:129:20)
at EventEmitter.module.exports.initDB (/opt/node/Havoc/components/char.js:160:8)
at EventEmitter.<anonymous> (/opt/node/Havoc/components/char.js:108:9)
at EventEmitter.emit (events.js:104:17)
at EventEmitter.<anonymous> (/opt/node/Havoc/components/user.js:123:9)
at EventEmitter.emit (events.js:129:20)
at EventEmitter.havoc.init (/opt/node/Havoc/havoc.js:51:9)
at Object.<anonymous> (/opt/node/Havoc/havoc.js:270:8)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:501:10)
at startup (node.js:129:16)
at node.js:814:3

I feel like I am just missing something obvious.

Please Log in or Create an account to join the conversation.

More
12 Nov 2015 13:05 #2 by plamzi
This looks like a change in newer versions of node sequelize. Try changing ".done" to ".then" on line 140 in item.js.
The following user(s) said Thank You: Nummsk

Please Log in or Create an account to join the conversation.

More
13 Nov 2015 02:32 #3 by Nummsk
Thank you! It worked!

I do have one more question tho. I got the server running and I was able to access it via the client on this site. Unfortunately when the server connects, it just has the picture, but no login prompt. I am going to continue looking into this, I admittedly haven't done a lot of research on this one yet. I was just very excited to get it running then confused when I got it loaded and no prompts appeared.

Please Log in or Create an account to join the conversation.

More
13 Nov 2015 13:16 #4 by plamzi
When using the web app to access a Havoc server, try adding "&havoc=1" to the URL to enable the tight integration logic. It's very likely the absence of prompt means the server and the client expect to communicate some stuff out-of-band (GMCP).

Did you try to access the server using other clients?

Please Log in or Create an account to join the conversation.

More
21 Nov 2015 06:37 #5 by Nummsk
Thank you for the response. I did end up getting connected. It honestly don't know what the problem was. I didn't really change anything before I got it working. Haven't had much time over the past week to play with it.

I am still working through some errors. I keep hitting different undefined errors with the default SQL schema. I haven't given up on it yet. After the character creation and you enter into the world it throws this:

Sat Nov 21 06:34:58 nummsk nfo: user.lobby: entry w/o a char
Sat Nov 21 06:35:01 nummsk debug: got: |nummsk
|
Sat Nov 21 06:35:01 debug: user.lobbyAction: "nummsk"
Sat Nov 21 06:35:01 nummsk / nummsk user.enter
Unhandled rejection TypeError: undefined is not a function
at EventEmitter.initGuildChar (/opt/node/Havoc/plugins/char.guild.js:93:17)
at EventEmitter.emit (events.js:129:20)
at EventEmitter.module.exports.initChar (/opt/node/Havoc/components/char.js:328:8)
at EventEmitter.<anonymous> (/opt/node/Havoc/components/char.js:95:9)
at EventEmitter.emit (events.js:129:20)
at EventEmitter.module.exports.enter (/opt/node/Havoc/plugins/user.lobby.js:684:8)
at null.<anonymous> (/opt/node/Havoc/plugins/user.lobby.js:211:10)
at bound (domain.js:254:14)
at runBound (domain.js:267:12)
at tryCatcher (/opt/node/Havoc/node_modules/bluebird/js/main/util.js:26:23)
at Promise._settlePromiseFromHandler (/opt/node/Havoc/node_modules/bluebird/js/main/promise.js:503:31)
at Promise._settlePromiseAt (/opt/node/Havoc/node_modules/bluebird/js/main/promise.js:577:18)
at Async._drainQueue (/opt/node/Havoc/node_modules/bluebird/js/main/async.js:128:12)
at Async._drainQueues (/opt/node/Havoc/node_modules/bluebird/js/main/async.js:133:10)
at Immediate.Async.drainQueues [as _onImmediate] (/opt/node/Havoc/node_modules/bluebird/js/main/async.js:15:14)
at processImmediate [as _immediateCallback] (timers.js:367:17)
^

Im going to keep playing with it.

Please Log in or Create an account to join the conversation.

More
21 Nov 2015 14:19 #6 by plamzi
At first glance, it looks like another Sequelize change:

The line in question is:
var initGuildChar = function(ch) {
	
	/* load a character's guild info */
	if (ch.getGuild)
		ch.getGuild().then(function(r) {
			ch.guild = r;
			act.initChar(ch);
		});

Obviously, ch.getGuild exists, so probably what changed is it no longer returns a "promise" that you can hook up a "then" to. If that's the case, it would explain multiple similar errors elsewhere in the code. Just have to find the new way of hooking up a callback.

One of these days, I have to update my Sequelize and modify all those places. It's the price to pay for hopping on the bandwagon early, I guess, but I've been distracted by other stuff. If you keep persisting, you can really help me with this via GitHub merge requests.

I think your persistence will pay off. The server is officially alpha, but when I last committed, it was fully functional and quite performant, with some very unique capabilities to boot.

Please Log in or Create an account to join the conversation.

More
21 Nov 2015 15:24 #7 by Nummsk
Your responsiveness is the thing that is keeping me going. I think you may have actually started doing the migration from the old sequelize. The version I pulled from git had ch.getGuild().success(function(r)

I changed it to "then" which you showed below and it started working. I got logged in. Hit some more errors, but I got logged in. I suspect the errors could be from similar sequelize problems.

Jared

Please Log in or Create an account to join the conversation.

More
21 Nov 2015 16:07 - 21 Nov 2015 16:14 #8 by plamzi
That sounds right. I just committed a new rev on GitHub that should sort a lot (hopefully all) of these errors out for you.

I also made a slight tweak to enable you to connect more easily on the raw socket (default port 6000).

And I revived www.aaralon.com/text for folks who want to see the default game and client together in action.
Last Edit: 21 Nov 2015 16:14 by plamzi.

Please Log in or Create an account to join the conversation.