This topic contains 17 replies, has 0 voices, and was last updated by  Panther30 13 years ago.

  • Author
    Posts
  • #2767

    hobbesme
    Participant

    Ok, most players should know that I’m not hot-headed in the games or in the forum.

    But right now I’m pretty psst.

    I’ve just played an hour against some good players — Paris, redi, etc. Only by luck was I heads-up against Paris in the last round. He couldn’t win no matteer what the result; but I could win if & only if I killed him — I needed one more round win & had more than enough kills.

    And after I had already hit him for 40 points damage, what the heck happens? You guessed it, my client socket fails.

    I was still sending & receiving chat. In fact, after my last “YAY! I’m gonna win this game!” text, I had to curse “NOOOOOOOOO!!! The server’s booting me!!!!”

    What the hell? You know? How does the client’s socket fail — or whatever the displayed client socket error says? I mean, does it perform an illegal operation or some abnormal termination because of some failed operation.

    It sucks that the (presumably) UDP socket for chatting is still open & working, but the TCP socket has somehow failed & doesn’t adequately reopen a new socket & reconnect to the server.

    I’m usually pretty level-headed about this; I’m mostly just blowing off steam since I had been given (by luck & circumstance) the chance to win a game with 14 kills & 2 wins, but NOOOOOOOOOOOOOO, my client socket decides to fail. Darn Win sockets to hell.

    Again, no disrespect to all the hard work put into this game. I know client-server interaction is the most difficult aspect of online games. I’m just psst at the lost game win. 👿

    #12717

    imported_gcamp
    Participant

    Firstly I am very sorry, I am looking into these issues.

    And after I had already hit him for 40 points damage, what the heck happens? You guessed it, my client socket fails.

    I was still sending & receiving chat. In fact, after my last “YAY! I’m gonna win this game!” text, I had to curse “NOOOOOOOOO!!! The server’s booting me!!!!”

    How did you know you were about to be booted/kicked. What did it say?

    It sucks that the (presumably) UDP socket for chatting is still open & working, but the TCP socket has somehow failed & doesn’t adequately reopen a new socket & reconnect to the server.

    Scorched3D only uses on TCP socket for all communications so it is strange you got this error and could still chat.

    What was the error exactly?

    I can understand this is really annoying. Hopefuly in version 38 i will have it fixed. Also version 38 keeps the players money, weapons, score etc until the game ends. So if you reconnect you will get all of that back.

    #12718

    imported_gcamp
    Participant

    “Read buffer 3 of 4 failed”

    I am pretty sure I have found and fixed this (in version 38).

    I have also added more logging to hopefully find the rest of the problems.

    #12719

    hobbesme
    Participant

    @gcamp wrote:

    Scorched3D only uses on TCP socket for all communications so it is strange you got this error and could still chat.

    My bad. I had mis-remembered how UDP sockets were used — I thought it was UDP for in-game chat messages. I read now that the doc/posts say that UDP is used for server browsing only.

    @gcamp wrote:

    @hobbesme wrote:

    what the heck happens? You guessed it, my client socket fails …

    I was still sending & receiving chat …

    It sucks that … the TCP socket has somehow failed & doesn’t adequately reopen a new socket & reconnect to the server.

    1. How did you know you were about to be booted/kicked.
    2. What did it say?
    3. What was the error exactly?

    1. Everyone playing knows that when there is a long lag time between move phases, that a player(s) may be potentially booted. These players are often marked with an asterisk in the Status Window, presumably indicating a pending action or response from each player.

      Since we were waiting for some lag, I opened the status window to see to my horror that MY status was marked with an asterisk! And once that happens, it has been my observation that 80%+ of the time, that player will be booted from the server.

      However, I was still receiving AND sending chat. Everyone was responding to my chat — a few players laughing at the fact that I was going to have my game win stolen from me! Argh!

      So, clearly SOME aspects of game communication were still working.

    2. When my game abnormally terminates, it often outputs one of the following two error messages :
      1. “Read 3 of 4 buffer fails.”

        With this error, there is no lag. The game suddenly quits & outputs this client error message.

        I really hate that #3 buffer read.

      2. “Client socket disconnected.”

        Or something like that. This error occurs but does not disconnect immediately — the server waits for a certain timeout period before disconnecting the client which outputs the socket error message.

    3. Again, the client outputs an error to the effect of “Client socket disconnected.”; I’ll have to copy it down exactly next time it happens, which (un)fortunately is only about 5% of the time.

    Now, only you know if the “client socket disconnect” error is the likely culprit or whether this is an artifact of another problem. If the client socket is failing, why can I still receive/send game chat? If the socket is still operating, does the server disconnect me? Or is it the client that disconnects itself? Only you know these answers. I just know the observational behavior.

    @gcamp wrote:

    Also version 38 keeps the players money, weapons, score etc until the game ends. So if you reconnect you will get all of that back.

    Unfortunately, even this new fix would NOT solve the problem of the special case — a player in the last round is heads-up against another player. If the player who could win the last round & game is suddenly booted from the server, I assume that the game will immediately end the round & other player will have won the last round & since the game is now over, the booted player will NOT have won the game.

    Or even if you’re in the last round with multiple players left; if you get disconnected & rejoin, will the server let you back into the game that round? Or will the server only allow you to rejoin in the next round — which if it is the last round, won’t be until after the current game ends!

    And besides just the last round, if the game continually boots a player every few rounds; it can destroy a player’s momentum or effort or steal a kill or whatever.

    So unless the most or all of the unknown client/server disconnects are solved, players could STILL be screwed by spurious disconnects.

    @gcamp wrote:

    Firstly I am very sorry, I am looking into these issues … I can understand this is really annoying. Hopefuly in version 38 i will have it fixed.

    I know everyone will appreciate this. Your developments are above-and-beyond what anyone could expect. This game is fantastic even with its known bugs &/or technical issues.

    I was just irritated at the moment when I made my previous post. Forgive me for any frustration or perceived demands on my part.

    #12720

    hobbesme
    Participant

    @hobbesme wrote:

    @gcamp wrote:

    Also version 38 keeps the players money, weapons, score etc until the game ends. So if you reconnect you will get all of that back.

    Unfortunately, even this new fix would NOT solve the problem of the special case — a player in the last round is heads-up against another player. If the player who could win the last round & game is suddenly booted from the server, I assume that the game will immediately end the round & other player will have won the last round & since the game is now over, the booted player will NOT have won the game.

    Or even if you’re in the last round with multiple players left; if you get disconnected & rejoin, will the server let you back into the game that round? Or will the server only allow you to rejoin in the next round — which if it is the last round, won’t be until after the current game ends!

    And besides just the last round, if the game continually boots a player every few rounds; it can destroy a player’s momentum or effort or steal a kill or whatever.

    So unless the most or all of the unknown client/server disconnects are solved, players could STILL be screwed by spurious disconnects.

    I don’t know if you’re still thinking about this or you passed on replying to these counter-arguments.

    But I am curious if anyone has ideas on how to solve the server-disconnects-screw-your-game-and-steals-your-win problem. Any ideas?

    It’s the worst loss of all to have your win stolen from you by the game itself.

    #12721

    imported_gcamp
    Participant

    After the original discussion I have found some bugs in this area, I have also made some changes to the coms code adding checks to ensure this does not happen again.

    There are two more checks made now :-
    1) Make sure the client does not wait longer than the simulation should take. If they do then end the simulation and tell the server they are ready.
    2) The client gets asked just before they are kicked to respond, if they do they are not kicked.

    I am hoping these (along with the bug fixes) will make this a thing of the past in version 38. I guess when beta testing starts in earnest we will know.

    #12722

    Willis
    Participant

    Gavin, what sort of connection attempts / checks does Scorched make while determaining if an individual should be kicked? Does it merely attempt # times, or is there a set variable of time involved? Although over 50% of the kicks result in the pesky bug of a person exits but the game still thinks their inside.. when kicks become frequent (like turn A, . . . kick… turn B… kick… turn C, turn D . . . Kick – – ok thats over-dramatic but you get the idea) it can feel as if its taking forever.

    Going on assumption here… if the server would attempt to reach contact with the player on 3 attempts, maybe have in the chat window a server message saying “Attempt 1/3 for (PLAYER) FAILED” . . “2/3 FAILED” . . “PLAYER KICKED”. The astrix thing is simple enough but this allows for some illustration upon how long people are waiting and for who.

    #12723

    cbx550f
    Participant

    @gcamp wrote:

    How did you know you were about to be booted/kicked. What did it say?

    One thing I’ve frequently noticed before I get the ol’ boot is that my chat messages don’t appear right away. When I had a good net connection, I rarely had this happen, but since I’m back to dialup it seems much more frequent. (and yes, even when I’m not downloading porn, Goose! ;))

    @gcamp wrote:

    Also version 38 keeps the players money, weapons, score etc until the game ends. So if you reconnect you will get all of that back.

    Excellent! That fixes a few annoyances. Thanks!

    #12724

    hobbesme
    Participant

    @cbx550f wrote:

    One thing I’ve frequently noticed before I get the ol’ boot is that my chat messages don’t appear right away.

    I have occasionally noticed chat messages slow down or stop — then suddenly appear in a rush. In other words, my client either :

    1. Doesn’t display the messages right away

      OR

    2. Receives a burst of chat/game messages all at the same time

    However, I usually have not been booted after these burst lags.

    Ironically, when I am disconnected by the client/server, I typically am still receiving & sending live chat! How irritating it is to send & receive chat but then be disconnected! 😕

    And I use TimeWarner RoadRunner Cable Modem — but I do occasionally have trouble with my upstream which might be my conncetion’s problem & not the game’s. But it is very infrequent that I have a problem with the upstream.

    #12725

    hobbesme
    Participant

    @gcamp wrote:

    What was the error exactly?

    Happened again tonight — three times this week :

    Player “hobbesme” has been booted from the server.
    Client socket has been closed.
    Disconnected

    Again, could still talk with everyone as I cursed my goodbyes! Argh.

    #12726

    imported_gcamp
    Participant

    Sure I understand but there is not much I can do without getting out a new version of the Scorched3D client, and 38 is really not ready yet.

    Perhaps I should do a 37.3?

    #12727

    hobbesme
    Participant

    @hobbesme wrote:

    @gcamp wrote:

    What was the error exactly?

    Player “hobbesme” has been booted from the server.
    Client socket has been closed.
    Disconnected

    @gcamp wrote:

    Sure I understand but there is not much I can do without getting out a new version of the Scorched3D client, and 38 is really not ready yet.

    Perhaps I should do a 37.3?

    PLEASE do NOT think that I am trying to rush you into releasing a new version.

    I am just reporting my observations regarding game bugs/annoyances so that you get adequate feedback in order to debug & troubleshoot these problems.

    I can live with the annoyances of V37 until V38 is ready. I just want everyone to report as many problems in V37 so you can find & correct as many of these problems as possible for V38! 🙂

    #12728

    imported_gcamp
    Participant

    I have compiled a new version of the Scorched3D 37.2 windows binary with some of the new fixes in it. It does not have all of the new fixes as this would break compatability. Note: There are also no visible changes.

    If people want to try it and let me know how they get on it is here :-

    http://prdownloads.sourceforge.net/scorched3d/Scorched-37.2-test.zip?download

    #12729

    Alpha
    Participant

    Hello

    If’ve got simular problems. I play Scorch with the Apoc mod on the Apoc Noob server from Rhand. I thoughed it was Apoc related but it’s not and he sugested this thread. Check my post there:

    http://handwired.net/v-web/bulletin/bb/viewtopic.php?t=26&sid=ed64b659e943e8ec19f2318150c5daa9

    Basicly i get disconected after a random amount of rounds. I never get an error msg but last one gave me:

    Read failed for buffer chunk

    I see it’s been talked about in this thread and if’ve downloaded your test version that i’m gona give a whirl tomorrow. I’ll post a follow up msg after i have played some games with that.

    As for Scorched it’s an awsome game great fun! Thank you for making it and putting in the time to add new things. Best wishes.

    The Netherlands

    #12730

    Alpha
    Participant

    Got to play one game last week with the test version. After that my ISP died “not scorch fault :wink:”

    Got my ISP back up only to have my monitor burn out right after that 😡

    Tomorrow i get a new monitor and hopefully i can start playing Scorched3d again.

    In the one game i played i saw the test version gave out ingame numbres with read failed and partail read failt. Is it helpfull if i write these down and post or are they of no further use?

Viewing 15 posts - 1 through 15 (of 19 total)

You must be logged in to reply to this topic.