cuberite / cuberite

A lightweight, fast and extensible game server for Minecraft
https://cuberite.org
Other
5k stars 637 forks source link

cuberite uses lots of bandwidth much more than java server #3021

Open xiaooloong opened 8 years ago

xiaooloong commented 8 years ago

only one player in the game, it could take all my server's out going bandwidth 1mbps

sphinxc0re commented 8 years ago

Wow! I never though this would be a problem. In 6 Years o development, this has never been a problem to anyone.

@cuberite/core-team @cuberite/server-contributors

EDIT: How exactly did you test this?

xiaooloong commented 8 years ago

我们这种破地方网速慢真是对不起了 之前用cauldron开服,装了一大堆plugin和mod,1M的带宽几个哥们玩儿一点儿事儿没有 今天试了一下cuberite,真是不给cent6活路,把服务器换成ubuntu14.04还得换源升级gcc,你说游戏服务器用新版本开发赶时髦就算了,还不体谅一下我们这些个老古董。 当然这不是正事儿,问题在于,服务器刚开好,就进去俩人,服务器1M的带宽就给你飙满了,走个路都要耗半天,说句话猴年马月才出的来。去后台iftop一看,带宽爆炸,吓得我赶紧退了游戏,带宽马上减半,然而并没有什么卵用,cuberite马上又把带宽用满,继续卡成狗。 我就不继续撕了,今天有点小情绪,出来爆粗口挺丢人的,真是对不住了

bearbin commented 8 years ago

I feel like some process where we're re-sending data unnecessarily compared to vanilla could have crept in. Maybe we need to revive protoproxy?

sphinxc0re commented 8 years ago

@xiaooloong huh?

bearbin commented 8 years ago

@SphinxC0re Google Translate gives a reasonable translation.

madmaxoft commented 8 years ago

@bearbin not really

tigerw commented 8 years ago

He says:


(Preamble) We live in a place with really slow internet, really sorry about this.

Before using cauldron (cuberite?), we installed a ton of plugins and mods, and a 1M connection was fine for a couple of mates playing.

We tried cuberite today, and changed centos6 to Ubuntu 14.04 and upgraded gcc, etc. - that was hard!

That doesn't matter, but the problem was that once the server started, two people came on, and the 1M connection was immediately saturated. Walking and chatting took ages.

Looking at iftop, utilisation was going through the roof, so I immediately left the game. Utilisation cut in half. Joining again, it went back up to full, but nobody was doing anything intensive on the server.

Sorry about the rant, very embarrassing.

xiaooloong commented 8 years ago

@tigerw thank you very much before i try cuberite, i used (k)cauldron with lots of plugins and mods to host my minecraft server. (k)cauldron has performed quite well on my 1 Mbps out-going bandwidth server. it could have 5 players online in the game playing smoothly without lag. yesterday, i tried cuberite. only i and my friend were in the game, and cuberite run out of the only 1 Mbps bandwidth. so i quit the game, watching the ssh console running iftop, and found that cuberite slowly ran out of the left 0.5 Mbps bandwidth with single one player in the game. i am so confused why cuberite takes such lots of bandwidth, although cuberite have a very high performance with CPU and memory.

mjssw commented 8 years ago

There are more problems in cuberite. Such as cuberite will make client crash,cuberite will make cilent need more cpu.

SafwatHalaby commented 8 years ago

I think that this is a combination of #2850, #3145 , and the leaf part of #3110. Combined, these issues send multiple junk packets per second.

SafwatHalaby commented 8 years ago

There could be other unknown issues sending packets as well.

Pokechu22 commented 8 years ago

I'd say it's also due to the fact that chunks are sent with the full chunk with empty parts as air rather than skipping sending empty sections (which means a lot more data is sent). Protocol compression should help with this but it does mean a lot of data is still sent.

pwnorbitals commented 3 years ago

@xiaooloong Is this still reproducible now ?

tigerw commented 3 years ago

There are two things left that may potentially cause more packet sends, first is lack of palettes in chunk sending, second is #3110. Not sure to what extent they actually have a big effect.