What is my server?

Discussion in 'Bukkit Discussion' started by MaWe4585, Jul 17, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    MaWe4585

    Hello,

    i'm running a server with craftbukkit. Since i have some problems when there are more then 4 players on the server i wonder what it is.

    So i analyzed the server process and saw that the problem is one thread using all the cpu time while others do nothing.

    Now i don't know where to ask. Is the technology which causes the problem the standard minecraft server software or is craftbukkit a completely different software?

    If Craftbukkit is something completely different i beg you: PLEASE USE MULTITHREADING!

    I mean.. if there is a thread per user - and it is - why do all the work with one other single thread?

    If every userthread would do some work, all cpu-cores could be active and take some of the work.

    However if the serversoftware something from minecraft.net i'm totally wrong here :D
     
  2. Offline

    odielag

    Question: What are the computer specifications? If you are running the server on a VPS with a 1ghz cpu, or a computer with under 500mb of ram that would likely be the cause of the poor performance. The operating system and java version being used has an impact also.
     
  3. Offline

    MaWe4585

    Intel Atom 2x 1.8GHz and 2GB DDR3 RAM It is a Lenovo Q150

    I think that should do it as a server since there are no graphics.

    OS is Win 7HP, 32 Bit
    Java is the latest Java 6

    As i said, i analysed the process and there is one thread using one cpu with nearly 100.0 Percent.

    as long as it is under 100% it runs perfectly, but as soon as it reaches 100%(4-5 Players) it starts lagging.
     
  4. Offline

    Matt Gill

    Umm are you running this server on a netbook? I don't think your cpu can handle it.
     
  5. Offline

    Steelstiletto

    Unfortunately, there is no multi-threading ability in Minecraft. It's not something that Bukkit removed, but something that Notch never included. There is a vote for it on the Get Satisfaction page, but given the effort that would go in to adding multi-threading, it's unlikely that Notch will add it before the release date of the game.
     
  6. Offline

    MaWe4585

    As i said above it is a Lenovo Q150, a NetTop.
    I actually thought that a gameserver doesn't need that much because of my experiences with other gameservers.

    I hope he will add it though, when it is released there will be much more players, how should servers handle them?

    Anyway.. how do they handle players now? I read about servers where are 100 players online at the same time without any lags? Mine get stuck at 4 or 5
     
  7. Offline

    bassfader

    I guess thats dedicated servers with 50+ or 100+ players, or very very very powerfull PCs with lots of RAM and CPU Power. (I got a VPS with min. 2GB RAM and 2GHz and max. 4GB RAM and 4GHz - depending on the host, if there are free ressources I get them - and a 4GB Swap on a SSD drive, running a server with 10 to 15 Players without any problems)
     
  8. Offline

    Steelstiletto

    I run my server on an Intel i7-980, and it works great. Never had issues, but max players I've had is around 7 or 8. The server software for minecraft is a lot more involved then other server software, so I'm not surprised that a netbook has issues. You should probably consider using a modern power desktop rig instead.
     
  9. Offline

    zipfe

    That's because most other multiplayer games we know do not have to transfer so much data. You can't place blocks in CounterStrike and change the map on the fly, and all other players even see those changes instantaneously, including those they themselves just made.
     
  10. Offline

    bergerkiller

    I run my worlds with auto-save off; saves myself 20% of cpu and less chance of the world being "destroyed" during a crash. A few suggestions I though of while working around in bukkit:
    - Why not make the client use the seed to create certain chunks/vertical rows if this part of the map was never edited?
    - Why not make clients transfer data in between as well? For example, player places a block and this player sends this data to all other clients including the server. I know this can cause "out of sync" problems, but with clever scripting this could be avoided
    - Add a "max particle count" in the game. Really, there is no need for millions of explosion particles to be displayed at 0.1 FPS when tnt explodes
    - Multithreading is not really possible for a game like Minecraft; it uses a single game loop in which all physics updates are done. I know it, I wrote a Java game using LWJGL myself.

    The only multi-threading bit that is possible, are separate threads for input, graphics, sound and physics. But I believe this is already present using LWJGL. You can't separate actions done in a game loop; some actions use the result of previous actions, which means a thread would have to wait, making it useless.

    Some things where multithreading "might" be possible:
    - Terrain (chunk) generation
    - World saving
    - players/block threads separated
    - Packet transfer thread.

    Or simply run multiple servers, each running on a single core, creating something similar to what MultiVerse does, only with multiple servers.
     
  11. Offline

    MaWe4585

    I thought about that too and installed craftproxy about an hour ago. i hope that helps in some way.

    still, somehow multithreading must be included since the cpus don't get much faster but get more cores.
    there must be actions which are calculated in that one thread which can be separated into other threads, i'm a softwaredeveloper myself and know that there always is something.
     
  12. Offline

    Drakia

    Processors definitely get faster than a 1.8ghz Atom. Those servers you see hosting hundreds of players have upwards of 32GB of RAM, and server-level processors. You can't expect to host a server on just anything.
     
  13. Offline

    MaWe4585

    Of course they get faster than 1.8 GHz Atom but you will agree with me that the number of cores is currently much faster raising than the speed

    the idea of multiple server hosting the same world is actually great, that would be sort of like the architecture of the irc networks, right?
     
Thread Status:
Not open for further replies.

Share This Page