Armagosdarnish? not reachable?
Moderator: Verement
-
- Random Identifier & Project Developer
- Posts: 345
- Joined: Wed Feb 25, 2004 12:54 am
- Location: Northern California, USA
Tank had mentioned in a similar thread that he thought the server knew exactly where everyone was and the sliding was only on the client end...
Since the server knows the coordinates of the arena walls can't it check to see if the player's coordinates are outside the bounds of the arena (using a small delta to account for floating point issues)? Regardless of whatever position checking we do we should still keep the rendering errors from halting the game as there are probably other conditions that could happen to cause the errors.
Since the server knows the coordinates of the arena walls can't it check to see if the player's coordinates are outside the bounds of the arena (using a small delta to account for floating point issues)? Regardless of whatever position checking we do we should still keep the rendering errors from halting the game as there are probably other conditions that could happen to cause the errors.
Last edited by k on Mon Sep 13, 2004 4:38 pm, edited 1 time in total.
- philippeqc
- Long Poster - Project Developer - Sage
- Posts: 1526
- Joined: Mon Jul 12, 2004 8:55 am
- Location: Stockholm
- Contact:
The grid extend already beyond the wall. The true shape of the grid is a big triangle. If I understand the situation properly, the crash occurs if something try to move outside of that triangle.root down wrote:extend the grid beyond the wall, make the server kill/maim/etc anyone who ends up on this part of the grid
-ph
Canis meus id comedit.
- Lucifer
- Project Developer
- Posts: 8640
- Joined: Sun Aug 15, 2004 3:32 pm
- Location: Republic of Texas
- Contact:
What coordinate system is used for the bikes? Playing the game, it appears that the bikes get x,y coordinates and some corner of the arena walls are 0,0.philippeqc wrote:The grid extend already beyond the wall. The true shape of the grid is a big triangle. If I understand the situation properly, the crash occurs if something try to move outside of that triangle.root down wrote:extend the grid beyond the wall, make the server kill/maim/etc anyone who ends up on this part of the grid
-ph
Also, it seems to be that checking if a bike is outside the wall can't be *that* hard. It's a problem solved for Pong. Assume a grid of 60x60, and valid values of x,y must be positive. You have several statements:
if x < 0 killbike();
if x > 60 killbike();
if y < 0 killbike();
if y > 60 killbike();
Let rubber deal with x==0 or 60 and/or y==0 or 60. As you say, coordinates are stored as float, so checking for equality isn't going to work.
Oh yeah, in response to K: the impression I'm getting right now is that the client will render the bikes in any fashion according to what the server sends, but it won't kill the bikes. It'll go ahead and render local turns before the server sends them back (which is why we get sliding, because the server occasionally updates your position and your client disagrees with the server, but the server makes the call--not the client). So I'm not thinking a check like this will affect it, as long as the client never gets to decide independently to destroy the bike. So it should appear just like a "lag" kill already appears, you drive through the wall, go on a ways, and then blow up back at the wall you hit. Perhaps you should consider looking into putting bleachers on the other side of the arena wall so the bikes could drive through a crowd of spectators.
Assuming that's the right idea (frankly I just can't imagine the code not already having a series of lines just like this), it's still only a patch fix. The *right* solution is to figure out why the server is crashing. To this end, a stack trace is needed. Any solutions to coming up with a stack trace? Also, if anybody knows how to *intentionally* rip the grid, then one of us server guys can setup the process for profiling (or whatever, I'd need some instructions to do this) and arrange a time for the ripping expert to come in and rip it a few times, getting several stack traces. I'm willing to volunteer for this, but like I say, I'd need instructions setting up the AA process to leave a stack trace when it crashes. I can grab cvs code and build it now (finally), if that helps.
Finally, a use for Zapple.
- philippeqc
- Long Poster - Project Developer - Sage
- Posts: 1526
- Joined: Mon Jul 12, 2004 8:55 am
- Location: Stockholm
- Contact:
Edit:
Pretty much ignore the following. It got stuck in a buffer for a long time. Now it may not be relevant.
I dont erase it as it was a post and it will mess up ppl if it miss or if some ppl read it and other dont.
original follows:
I'm sorry if I'm a bit rude, but has anyone actually read what I wrote?
-No inside, no outside. So no checking if its inside or any variation of nearly inside.
-The game only deals with collisions. You hit a wall, you die. If there happen to be an opening in the wall and someone drive through it, yeppe day de!
-A valid game would be that everyone start OUTSIDE the rim (yes, outside, you all love that word) and just keep relatively close to the rim. That wouldn't crash the server.
What I've been trying to say is that what ever fix concerning "position vs the rim" is but a patch. And it doesnt address the REAL problem.
Now everybody take a minute to breathe deeply!!!!
What I need to finish fixing the problem, is :
a) a DETAILLED description of the last moment of a server before the crash
b) a detailled account of how to rip
c) Exact version in use on the server
d) the server setting in use in the crash.
Pretty much ignore the following. It got stuck in a buffer for a long time. Now it may not be relevant.
I dont erase it as it was a post and it will mess up ppl if it miss or if some ppl read it and other dont.
original follows:
I'm sorry if I'm a bit rude, but has anyone actually read what I wrote?
-No inside, no outside. So no checking if its inside or any variation of nearly inside.
-The game only deals with collisions. You hit a wall, you die. If there happen to be an opening in the wall and someone drive through it, yeppe day de!
-A valid game would be that everyone start OUTSIDE the rim (yes, outside, you all love that word) and just keep relatively close to the rim. That wouldn't crash the server.
What I've been trying to say is that what ever fix concerning "position vs the rim" is but a patch. And it doesnt address the REAL problem.
Now everybody take a minute to breathe deeply!!!!
What I need to finish fixing the problem, is :
a) a DETAILLED description of the last moment of a server before the crash
b) a detailled account of how to rip
c) Exact version in use on the server
d) the server setting in use in the crash.
Canis meus id comedit.
- philippeqc
- Long Poster - Project Developer - Sage
- Posts: 1526
- Joined: Mon Jul 12, 2004 8:55 am
- Location: Stockholm
- Contact:
I think your quite right but for one detail. The floor (on your screen) is and infinite plane (opengl element). The eGrid is a finite triangle, ableit very big, that is big enough to contain the whole rim section, and then some more (I dont know the size as there are many dynamical resize at 'game preparation time').k wrote:Philippeqc maybe you could make a simple diagram of what you know of the overall grid/arena components? Does the rectangular arena sit in the middle of a big triangle? And the big triangle is what you see extending out from the arena when you have short walls on?
The eGrid does hold all "walls", being rim or traces.
The problem is that when a wall get commited to the eGrid, if it cant place the latest point inside the big triangle, it crashes.
To make matters interesting, trace are not commited to the grid immediatly. I GUESS (not sure of that code yet) that its when you turn that its happens as the size of the wall get to be fixed.
I know I mention the automatic resize mechanism for the eGrid. I dont think it would be good to use in-game as it would
a) burden the grid at each augmentation (but that is a guess, there is some strange sizing and rotation involved)
b) allow player to go on for ever, which is worst than camping as you now have infinite place to cover, and if you just go away, possibly nobody would be able to catch up to the delinquant cycle, and it would allow him/her to hold the game on pause for ever.
My fix kill any object as it moves out of the gird (well, I still havent been able to test it). A second part of the fix would be to trap the insertion of wall outside of the eGrid triangle and deal with it more gracefully.
-ph
About my previous edited post:
Its pointless to write something, decided to sit on it to be sure not to say anything bad, and then 6 hours later to post it by mistake without revision. Very pointless. I'm sorry about that.
Canis meus id comedit.
- philippeqc
- Long Poster - Project Developer - Sage
- Posts: 1526
- Joined: Mon Jul 12, 2004 8:55 am
- Location: Stockholm
- Contact:
About lucifer's post:
I agree with all but one detail of your post.
As you mention, your proposed patch fix the ripping problem, not the crashing.
What I feel strongly about is that ripping is not a problem. Should crashing of the server be prevented, I'm all for ripping. Let the fight be out of the rim. Its just one more strategy.
Because of that, and all the work I'm doing on world (non regular arenas), Im opposing any change that
relies on the assumption of a bounded square rim and block free motion.
-ph
I agree with all but one detail of your post.
As you mention, your proposed patch fix the ripping problem, not the crashing.
What I feel strongly about is that ripping is not a problem. Should crashing of the server be prevented, I'm all for ripping. Let the fight be out of the rim. Its just one more strategy.
Because of that, and all the work I'm doing on world (non regular arenas), Im opposing any change that
relies on the assumption of a bounded square rim and block free motion.
-ph
Canis meus id comedit.
- Lucifer
- Project Developer
- Posts: 8640
- Joined: Sun Aug 15, 2004 3:32 pm
- Location: Republic of Texas
- Contact:
Heh, I'm actually in agreement with you about ripping. I think there should be other things outside the arena so that ripping might actually lead to something cool. But I think you should consider making a "Can't rip" option, because even without a crash I think ripping will continue to be perceived a problem by many people. If you make it optional, even disabled by default if you like, then everybody gets what they want.philippeqc wrote:About lucifer's post:
I agree with all but one detail of your post.
As you mention, your proposed patch fix the ripping problem, not the crashing.
What I feel strongly about is that ripping is not a problem. Should crashing of the server be prevented, I'm all for ripping. Let the fight be out of the rim. Its just one more strategy.
Because of that, and all the work I'm doing on world (non regular arenas), Im opposing any change that
relies on the assumption of a bounded square rim and block free motion.
-ph
Of course, there's a reason software should never be engineered by committee....
patch or not, I'm eager to have a short term solution to prevent crashing via ripping. after the problem is properly determined, go ahead and fix it. but for now, a patch is better than nothing. I still don't see why cycle coordinates can't be checked, and if they exceed the arena limitations, take action. Everytime someone crashes the game, I consider leaving it off.
- philippeqc
- Long Poster - Project Developer - Sage
- Posts: 1526
- Joined: Mon Jul 12, 2004 8:55 am
- Location: Stockholm
- Contact:
Good, I was waiting for news from your side. As you seem to be the ripper in question, I would likeYour_mom wrote:i dont really understand the coding side of this but im willing to help you guys out any way im capable of .... testing etc. sorry but im not a coder if you guys need assistance testing im free to help.
a) Detailled instruction how to rip (you can send them privately)
b) Detailled description of your excursion outside the rim.
-ph
Canis meus id comedit.
I've kept the cycle brake the same as old goshdarn. Where possible, I want to keep the settings as close to goshdarn as I can. At one point I had fiddled with the cycle brake. I found that double binders could still uturn quickly enough and rip. Eliminating rubber might be something that works, but I really don't want to do that.subby wrote:I noticed that your cycle_brake is set to 5
Set CYCLE_BRAKE to 0 or even set it to -0.0001
Removing the brake (or making it ever so slightly accelerate) should make it harder to rip, if not making it impossible. (ie keep ketting closer to wall until ....)
- Lucifer
- Project Developer
- Posts: 8640
- Joined: Sun Aug 15, 2004 3:32 pm
- Location: Republic of Texas
- Contact:
Personally, I'd like a "explodes on brakes" setting, but removing brakes isn't exaclty a solution here. People use brakes, people like them, they add something to a player's tactical library (don't know what, brakes are for sissies you know), but they are kind of an expected part of the game at this point.subby wrote:I noticed that your cycle_brake is set to 5
Set CYCLE_BRAKE to 0 or even set it to -0.0001
Removing the brake (or making it ever so slightly accelerate) should make it harder to rip, if not making it impossible. (ie keep ketting closer to wall until ....)