My list of Server bugs

    Joined
    Jun 20, 2013
    Messages
    293
    Reaction score
    48
    • Purchased!
    1. Server waits on pongs
    2. Server doesnt remove a client when he disconnects leading to the server holding up on a ping/pong from a null client

      not executing server ping for null client yet: 0 / 10000
      [SERVER][PROCESSOR] client setup completed. listening for input
      [SERVER][LOGIN] new client connected. given id: 15: description: TYLER377190
      [SERVER][LOGIN] return code 0
      not executing server ping for null client yet: 5001 / 10000
      not executing server ping for null client yet: 1000 / 10000
      not executing server ping for null client yet: 6001 / 10000
      not executing server ping for null client yet: 2001 / 10000
      not executing server ping for null client yet: 7001 / 10000

    [*]Kicks (seem to) require a packet to be acepted by client
    [*]you can buy a ship anywhere. It says you can't buy it but then it spawns one for you. Only admins should be able to do this.
    [*]Teleport_self_to doesnt work, plops you in the middle of a sector
    [*]No ping responce should just kick the client. http://docs.oracle.com/javase/6/docs/api/java/net/Socket.html#close()
    [*]collision warping doesnt work
    [*]"Server saving error" turns on a shut down, within that time the server saves its data correctly :P
    [*]The shutdown command should save everything before exiting, dont use System.exit(0), close connections, threads, save all data, close SQL Server, the works. Dont rely on shutdown hooks, some OSs doent support them
    [*]Server commands that dont require the StarMote via terminal
    [*]Improve server logging, only log chat, lag messages and warnings. We dont need to see things like "[DELETE][Server(0)] Sendable 1883(kc@275d00ef) Physically DELETING DONE and Notified!". Using .toString() is a heavy operation. Adding a debug option to the server.cfg and defaulting to off would save a lot of CPU time.
    [*]Server logs are deleted when they fill up, I dont know how this makes them usefull
    [*]Exiting starmote kills the game and exits the window, it should just bring you to the login screen
    [*]The "not executing server ping for null client yet: 0 / 10000
    java.io.EOFException
    at java.io.DataInputStream.readInt(DataInputStream.java:392)
    at org.schema.schine.network.server.ServerProcessor.run(SourceFile:777)"
    [*]Don't warp out of collision, fix your physics engine to that it doesn't lock up the server
    [*]AI ships dont work/spawn on my server... for no reason
    [*]Exiting a ship core never puts you next to a ship, always below the the right
    [*]"warning CollisionDispatcher.needsCollision: static-static collision!
    warning CollisionDispatcher.needsCollision: static-static collision!"
    [*]Physics are don't client side sometimes causing problems (Ships arent where they appear)
    [*]There should be a central skin registry like minecraft has, skin tied to the account so that serversdoesnt need a copy.
    [*]Seems like you wait on SQL Query

    1. [SQL] SECTOR QUERY TOOK 77ms types: (1,2); from (18, 24, 6) to (26, 32, 14)



    I will keep updating this as time goes on
     

    schema

    Cat God
    Joined
    Feb 17, 2012
    Messages
    1,552
    Reaction score
    2,604
    • Schine
    I\'m on fixing the server EOF issues. It seems like depending on OS and machine, a last flush is not made before a socket is closed (although I had read that it does). I relied on software timeouts which didn\'t work to well. I added a socket timeout now that hopefully will take care of leftover connections.

    The buy ship anywhere bug is left in on purpose so people can buy something if they are stranded. But I can see how that will become a problem with more serious players. I\'ll remove it (or maybe make it a server option)

    Thanks for the tip. I will make a \"normal\" shudown without shutdown hooks.

    Server commands via terminal and remotely will also come soon.

    So will a second \"readable\" log.

    I currently can not afford the extra bandwidth for a central registry, but I think about it when we upgradethe servers.

    I can\'t really \"fix\" the physics, the only way to safely do a collision would be to cast the object, which pretty much cripples perfromance. Collisions are done in a snapshot way, as it\'s the usual for physics engines. The main reason people are getting stuck is upping the max speed, which puts the snapshots farther apart per update. Depending on the speed of the cpu, less snapshots can be processed by frame. So something can happen called \'tunneling\', which is one of the most difficult things to prevent. The warp out of collision algo has gotten a lot better, but it\'s of course not perfect, as I have to check the next set of objects that cause problems after I updated it last week.



    The problem with AI ships have been reported, but I still need a way to reproduce the issue.



    The sql query in question is a galaxy-map query, but those are done in a thread (or if not yet, will be), so it won\'t lock up anything.
     
    Joined
    Jun 20, 2013
    Messages
    293
    Reaction score
    48
    • Purchased!
    I would love to help debug the AI ship bugs. Just pm me and we can work it out together. Also, why do you need to cast the object, as long as you arent storing it in a raw map/collection there should be any casting needed.
     
    Joined
    Jun 24, 2013
    Messages
    54
    Reaction score
    0
    • Legacy Citizen 2
    • Legacy Citizen
    \"Server commands via terminal and remotely will also come soon.\", That is the best news to hear considering myself and probably alot of other server owners have tried and failed and indeed come to the conclusion that at the current momment its impossible to run commands remotley from servers :/, the quicker that functionality is added the better :)
     

    schema

    Cat God
    Joined
    Feb 17, 2012
    Messages
    1,552
    Reaction score
    2,604
    • Schine
    cast what object? I\'m doing a lot of stuff with generics, but in a codebase that large, not casting some objects is not really possible. I\'m trying to avoid it as best as possible.
     
    Joined
    Jun 24, 2013
    Messages
    54
    Reaction score
    0
    • Legacy Citizen 2
    • Legacy Citizen
    A small question but nonetheless, How far into development until Remote Commands/ Ability to Access Server Console online and execute commands will be added?



    It\'s got to the point where I\'ve actually considered getting a VPS and running StarMote on it along with some sort of bot in order to somewhat automate my server.
     
    Joined
    Jun 21, 2013
    Messages
    175
    Reaction score
    1
    People have already figured out how to run the server on a linux vps and get it to automatically restart itself. Even though there are no console commands yet, I\'ve no idea how they do it though.
     
    Joined
    Jun 20, 2013
    Messages
    293
    Reaction score
    48
    • Purchased!
    #!/bin/bash
    cd \"$(dirname \"$0\")\"
    while true
    do
    java -jar StarMade.jar -server
    done

    exit $?
     
    Joined
    Jun 24, 2013
    Messages
    54
    Reaction score
    0
    • Legacy Citizen 2
    • Legacy Citizen
    You can only restart a server, everything else is impossible me and a few others have tried our bests and its impossible at the moment. I spoke to 8bit the owner of SMPROHOSTING the other day and he had the same issues.
     
    Joined
    Jun 20, 2013
    Messages
    293
    Reaction score
    48
    • Purchased!
    [WARNING][SERVER] Exception: synchronized flush took 400 ms, size: 1597 bytes