Lag or bug?

Day 718, 00:47 Published in Hungary Hungary by Quicksilver


Csata lag vagy csata bug?

Tegnap megfigyeltem, hogy sokan, és még régi játékosok is csalást, bugot emlegettek a Central Slovakiai csata végén. Mi is történt?

Az időszámláló nullára váltott, és mégis mentek tovább az ütések; valamint amikor a conquer vonal alá vittük a falat, akkor sem állt le az ütés látszólag, és feljebb is vitték egy kicsit a falat - mielőtt megint lecsaptuk volna.

A helyzet az, hogy itt három dolog nincs szinkronban: az időszámláló, a támadók és védekezők neve-avatárja, ami megjelenik a két oldalon, és a fal állását jelző piros sáv, ill. szám.

Az időszámláló tiszta ügy, azt mindig élőben látjuk. Illetve... sanya hozzátétele:
az óra sem teljesen live. az induló állást az oldal lekérésekor rögziti szerveroldalon a script. töltögeted lefelé az oldalt, a képeket stb, mikor betöltődött a teljes oldal akkor elindul a javascript és elkezd visszaszámlálni az óra. tulterhelt szerver esetén azonban akár 5-10-20 másodperc is eltelhet eközben ezért lehet akár később is ütni. plusz ehhez jön még hogy az órát a saját géped szinkronizálja, a javascript programot másodpercenként hívja a kód, csakhogy a lefutása időbe telik (nagy, zsúfolt oldalon többe mint egy 3 szavas fehér háttér fekete szöveg oldalon) és függ a gép leterheltségétől is, azaz ezek a csúszások összeadódnak (pl 1.03 másodperc 1 helyett, ez mondjuk 1 perc alatt 2 másodperc csúszás)

A harcolók megjelenítése viszont problémás: egyszerűen ma már annyian harcolnak, hogy nem tudja ezt időben megjeleníteni a szoftver, mert megvan a max. sebessége, amivel ezeket a kis avatárokat átpörgeti a képernyőnkön. Így ez ha sokan ütnek egyszerre a csata végén, akkor nem élőben van, hanem elmarad attól, azaz hiába vált a számláló nullára, ez még pörög, mert az emberek még a csata vége előtt ütöttek. Ugyanez van a secure-conquer vonalak elérésekor is.

A harmadik dolog az a fal állása, ami a harcolók megjelenítéséhez van kötve - azaz amikor X számú harcoló lemegy a képernyőn, a szoft odaugrasztja a számot és a piros sávot, amennyit azok leütöttek ill. feltoltak. Újabb X számú ütés után megint ugrik a fal állása - azaz ez sem élőben megy, hanem egy bizonyos fáziskéséssel; és ez különösen igaz a csata végén amúgy is késésben lévő megjelentésnél, amikor a számláló élőben lepörög, nullára áll - a harcolók avatárja még megy, de már nem élőben, és a fal még ezt követi újabb késéssel.

Ezek alapesetben szinte észrevehetetlen fáziskésések, de a csata végén, többszáz harcolónál már percekre nőhetnek, és bizony emiatt egyszerűen nem lehet tudni, hogy a fal voltaképpen élőben hol áll. Azaz ilyenkor soha nem szabad abbahagyni a harcot, az ütést, mert amit a képernyőn látunk, hogy 'megvan a csata', az lehet, hogy nem igaz már... és ez az oka annak is, amikor az EMC látszólag 200 k-val feleslegesen túlütötte a falat - az a sebzés még akkor ment bele, amikor még ők sem látták a végeredményt.

Ezektől teljesen független az a valódi bug, amikor egy csata 'beakad' és még órákig megy - olyankor az valós időben van így, és nulla idő után is lehet bele ütni.

Remélem ezzel sikerült eloszlatnom a félreértéseket ezügyben.

Quicksilver

A linkgyűjtemény - minden, ami erephez kellhet




Battle lag or battle bug?

Yesterday, I saw many people, even not so new ones say cheat or bug at the end of the Central Slovakia battle. What exactly happened?

The time counter turned to zero, but the hits still went on - and also when the battle was brought under the conquer line once, the fighting also seemed to go on, and opposition even pulled it up a bit before bringing down again.

The situation is that here, in the battles, we have three separate things that are not in synch: the time-counter, the display of fighters and the red line of the actual wall value.

From these three the time-counter is the easiest, because we always see it in realtime. Or not... sanya18 said this:
The timer is not really live either. the beginning is recorded on the server-side by a script when you download it. Then you load the page, and when the whole page is on your screen, the javascript starts running ans counts back the time. But when the server has a lot of requests, it can take 5-10-20 seconds even, and you can fight later. Plus, the time is synched by your computer, the javascript is called every second, but its running takes time. Also if your own computer is working heavily, and all these delays got added, and in a inute it can be as much as 2-3 seconds.

On the other hand, the display of the fighters is problematic - quite simply nowadays so many people hit at the same time, that the soft cannot display it realtime, because it has a max speed with which it shows the small avatars and names. So, when a lot of people hit at the end of the battle, this display is late compared to the time-counter - so seemingly people hit when the counter is already at zero - or the secure-conquer line was reached.

The third such problematic thing is the actual standing or value of the wall. It is connected to the display, so when X fighters were shown on the display, the soft evaluates damage and jumps the red line to the actual value. Then another X fighters are shown and the red line again moves. So this is also not in realtime, but lags a little bit even to the display - and even more to the counter. So, what we see is that the time-counter reaches zero - but the fighters seemingly still go and hit, but it is a display only, and the wall follows this with a small lag.

Usually this lag is so small that we dont even notice it - but at the end of big battles, it grows to minutes even, and causes us to think of cheats or bugs - and more importantly it causes us that we can never know where the wall actually stands. It means that we never should stop fighting when the counter is at zero and the battle is a close one - because what we see is not always the actual result - we might think it won, but the enemy has already hit it down...

And a real bug that occassionally happens, and is totally unconnected to this lagging issue: when a battle is stuck and goes on for hours still - because in those cases it happens in realtime and we can actually hit those battles after the counter is at zero.

I hope I have cleared this issue for good.

Quicksilver

.