Page 2 of 4

Re: BUG REPORT: UNABLE TO LINK INTO RELTO

PostPosted: Tue Mar 19, 2019 2:53 pm
by JJ_Wolf75
Tsar Hoikas wrote:I thought I had the problem figured out and restarted the server. When I went to make the change to the server code, I found that the "problem" I expected to find was not present. Please post again if another age breaks--I do at least know more about the symptoms of the problem now. It seems Boblishman has a unique ability to cause this issue to appear.



Again Thank you soo much for fixing the problem. I can now link into Jason18's relto. :)

Re: BUG REPORT: UNABLE TO LINK INTO RELTO

PostPosted: Tue Mar 19, 2019 4:04 pm
by boblishman
Well, maybe it's because I'm playing in a Mac (via PlayOnMac)?
Although I've never had any issues before on MOULa or other shards. I must admit this is the first time I've been asked to help in Ghen?

Re: BUG REPORT: UNABLE TO LINK INTO RELTO

PostPosted: Tue Mar 19, 2019 4:27 pm
by Tsar Hoikas
Acorn tends to see this same issue, so I'm wondering if it's related to having a higher latency connection causing the problem in the server.

Re: BUG REPORT: UNABLE TO LINK INTO RELTO

PostPosted: Wed Mar 20, 2019 12:15 am
by Acorn
Always happy to help break things, if you want to investigate more, Adam :D Is there anything special you'd like me to try, to recreate the stuck avvie problem (which, incidentally, I haven't had for a while, though I haven't been playing much). The server reset always seemed to fix it, when it happens.

Re: BUG REPORT: UNABLE TO LINK INTO RELTO

PostPosted: Wed Mar 20, 2019 4:16 am
by boblishman
Tsar Hoikas wrote: It seems Boblishman has a unique ability to cause this issue to appear.


:o ... I have always a bit of a problem ... :lol:

Re: BUG REPORT: UNABLE TO LINK INTO RELTO

PostPosted: Wed Mar 20, 2019 8:49 am
by Tsar Hoikas
In DirtSand, each server and each client spawns its own thread to serve it.

What I noticed when debugging the server was that several threads seem to be getting stuck in approximately the same place. For example, I noticed that Bob had at least two threads that were, at one point, hosting him but were stuck... long after he had disconnected. This isn't a bad problem, I suppose. What is a bad problem is that sometimes threads hosting entire ages get stuck in the same place. When that happens, the age cannot proceed. If anyone tries to connect to it, the age never responds, hence the long delay culminating in the client giving up with "LinkToAge failed"

I am curious to know if this is more likely to happen when multiple players are present either on the shard itself or in the same age. We know the problem can't be limited to the latter because sometimes Acorn's Nexus (a strictly single player age) will sometimes get stuck. I might need to make some changes in the server to output some logging information about what's going on as well. We'll see on that one.

Re: BUG REPORT: UNABLE TO LINK INTO RELTO

PostPosted: Wed Mar 20, 2019 3:24 pm
by Sirius
Just wanted to say I find this tidbit interesting. I do a lot of programming and have been doing lots of thinking about the design of MMO game servers recently, but never had the occasion nor time to actually work on one until now.
(Although now I'm even more tempted to pick apart the DirtSand server code to see how it's built... Argh ! Must not ! :x )

Re: BUG REPORT: UNABLE TO LINK INTO RELTO

PostPosted: Thu Mar 21, 2019 5:34 am
by Tsar Hoikas
The DS architecture is easy to understand and fairly straightforward to code. That being said, it's not a good representation of how to design a highly concurrent server. You'll want to study up on things like epoll/kqueue and IoCompletionPorts. IME there are plenty of wrappers to handle that low level stuff, like libuv.

Re: BUG REPORT: UNABLE TO LINK INTO RELTO

PostPosted: Thu Mar 21, 2019 6:02 am
by Acorn
Tsar Hoikas wrote:
I am curious to know if this is more likely to happen when multiple players are present either on the shard itself or in the same age.....

.....I might need to make some changes in the server to output some logging information about what's going on as well. We'll see on that one.


Does this mean we need a "crash the shard" party? Or rather, a "clog up the shard until we all get stuck" party? :lol:

I assume we need to wait until you have made the changes to the server that you mention, Adam?

Re: BUG REPORT: UNABLE TO LINK INTO RELTO

PostPosted: Thu Mar 21, 2019 6:09 am
by Tsar Hoikas
I'd like another opportunity to examine the server in the debugger before adding piles of changes to it. Let me know if you break it ;)

I should really finish writing that replacement for DS...