You all probably noticed when you were playing in someone else’s server that the ammo suddenly stops respawning. You end up getting the server to pick up the ammo to get it respawning again. That must frustrate you, and it frustrates me, too. That’s why I’m writing my first actually useful article.

Those who’ve played Jazz for some while know that the server can get ammo to respawn again. That’s basically because online games are based upon whatever the server sees. And if the server sees ammo somewhere and a client doesn’t, and then he tries to get it, the client won’t get it. So when the server gets the ammo so it can respawn again, the ammo will respawn once and only once.

Fewer know that shooting the ammo to the ground could make it stop respawning. Sometimes when you shoot ammo, you see one thing and the server sees another. If you pick up fallen ammo from one place, and the server sees it in another, the server will think you didn’t pick up the ammo and thus it will never respawn again. This could explain why things like crates and power-ups tend to respawn more often than ammo. Lag also doesn’t always help in this situation.

But I bet no one knew that once you get 50 with your ammo amount, you shoot some ammo, and then you try to get more ammo, the server won’t see you picking up the ammo and thus it screws up everything and prevents the ammo from respawning. This happens probably because when the Epic people made the 1.23 patch, they got lazy and didn’t realize this problem. Because in the pre-patch versions of Jazz2, you could keep picking as much ammo as you like, even after you have 50 with your ammo amount; of course the number stayed at 50 when you collected more then enough ammo. But in the patched versions of JJ2, you can’t get more ammo after reaching the limit. I don’t know, I think that’s why. I also believe that when you reach 50, the server sees this. And when you go for more ammo after shooting some of it, the server will still think you have 50 and it won’t see you getting more ammo. After more testing, it even turns out that it’s the same thing even after you die. So if the client has 50 before he dies, and then he goes to get more ammo, the server will still think the client has 50 and as a result, the ammo won’t respawn after the client gets more ammo.

Based off of my testings, I’ve come up with 3 solutions.

1.) Rejoin the server. You all might have figured this one out already.
2.) Don’t shoot the ammo. Or at least try not to shoot it.
3.) Don’t get 50 with your ammo. Not even after you die. Never.

(Please note that once the ammo stops respawning, the only solution is to rejoin the server.)

(Also note that these are really inconvenient solutions and there isn’t much to do about this. Hopefully I (or someone like me) will find some better solutions for this problem.)

After even more testing, I accidentally saw what happens when the client sees ammo that’s still there after the server picks it up (I already knew about this, but I’ll tell you anyway). This results in the server making something respawn that’s already there. You see double of things and that tends to only happen in lag. This isn’t really a bad thing with ammo, but it could be bad with a carrot. If this happens with a carrot and if someone gets the carrot that respawnwed while another client tries to get the carrot that didn’t respawn, it will be like that client never got the carrot. Things like 3 hit kills or even 5 hit kills could happen because of this. There’s also this whole lag thing with the different pings between the server and each client, but I’m not going to get into that with this article.

And after all of that testing, I did some more testing and I think I also found something else. I think the number you have when you’re in a server (like the server has “1”, the second player to join has “2”, the third has “3”, etc…) ultimately determines whether or not the ammo can respawn for you. So if the 2 client gets 50 of some weapon and then leaves, the person who replaces that client won’t be able to have ammo respawn. If some joins, and no one was at that number spot already, they won’t have to worry about the ammo not respawning until they get 50. At least I think that’s true. Perhaps more testing is needed. I suppose the best solution to get ammo respawning again is to restart the server or change the level.

That’s all I know. I’ll probably have some more tests. I wrote this with haste after some quick testing so tell me if this doesn’t make any sense. And I’ll post more when I find out more things.


Comments

Darkshadow on August 09, 2002 06:00

Great Article.

Bobby aka Dizzy on August 10, 2002 06:00

I removed my old post because after more testing I feel my previous assumpions were incorrect, I had not tested it because I did not understand exactly what you meant.

I think I understand what you mean by getting 50 in an ammo ammount, but but I found is that does not matter if you shoot that ammo or not. Ammo will respawn even if shot down up to the 17th piece. Once you get your piece of ammo that will be the 17th piece of ammo you got from loose ammo, it will stop the loose ammo from respawning even if you did shoot the ammo along the way. I apoligize for calling what you said incorrect, I was testing it with a different method and shooting a lot so it did not seem that I was getting to the 50 mark when it stopped.

It also seems that you are correct that the server stores information on whether the client number has reached the stopping point. This is a common thing jj2 does wrong though and is the reason seeker holes appear.

I have also made a simple program that will fix this problem and should be run by the server. You can find this program <a href=“http://www.jazz2online.com/downloads/moreinfo.php?levelid=1621”>here</a>.

blurredd on August 10, 2002 06:00

I probably worded this wrong somewhere. I’n pretty sure about the 50 ammo limit thing, but it turns out when someone who hasn’t got 50 yet goes for the ammo that another client can no longer have respawn, it causes the ammo to respawn again, similar to the case where the server gets ammo to respawn again. I also think I’m right about that number thing. Did you even test my theories before saying that they’re wrong? Apparently it doesn’t matter where the server is. I could get ammo to stop respawning in probably any situation. I think I could easily prove this idea.

And from more testing, I think the server was able to get ammo while warping around in the test level I made. I already know it’s possible to capture the flag through warping because of lag, but now I’m thinking maybe it’s possible to get ammo, too.

And after some other tests, it seems to be true that when the server is on one side of a level with clients on another, when the clients can no longer have ammo respawn and the server tries to get it, it is possible for it not to respawn for the clients. I’ll probably have to test that more.

Bobby aka Dizzy on August 11, 2002 06:00

17 pieces is the same as getting to the 50 ammount of an ammo. 17*3 = 51

blurredd on August 11, 2002 06:00

I don’t know about this whole 17 piece thing, but I think I forgot to mention one thing. If you have 25 with your ammo amount, shoot all of it out, then get 25 more, this is the same as just getting 50. Apparently the server can’t tell if you shoot out ammo or something. I’m think I’m going to have to fix up my article a tad bit…

The prog you made works nicely, though.

Super Saiyan on August 12, 2002 06:00

Nice Article Blured, though Dizzys program is a great solution to fix this. Anyway I still wonder how all you guys know so much about jj2. :o)

JordanJett on August 15, 2002 06:00

Playing it often. Some people actually study these things… some as in, maybe 1.

Kaz on August 19, 2002 06:00

Just curious (I’d love to help if I wasn’t on XP and I could use the convient programs), did you just have it wipe the player data when they’re not there (gets rid of seeker holes, yay!), or just “lock” all ammo on the server side for clients to zero?

Bjarni on February 07, 2003 06:00

(FLT)

(Foreign language text removal. Please only talk in English on J2O. -Trafton)

Bjarni on February 07, 2003 06:00

VeggieMan__________________________0.9
I wan´t to give this 0.9% because I limit that´s sperror!

Waz on May 10, 2003 06:00

Good article!

I had this once, when I was hosting battle2 in a duel. The other player suddenly couldn’t get any seekers, and he was sure that I was cheating. We were chatting more than fighting, me trying to explain the problem and why I wasn’t cheating, and he always saying “YOU CHEATING”. I hope he reads this…

Grytolle on October 18, 2005 13:00

Just curious (I’d love to help if I wasn’t on XP and I could use the convient programs), did you just have it wipe the player data when they’re not there (gets rid of seeker holes, yay!), or just “lock” all ammo on the server side for clients to zero?

Why didnt anyone reply to this? :|

Thomas on October 05, 2006 02:47

I think I am the only guy who as not notice this but maby that is beacuse we disconnet so much thet by the time it stops appering we get diconnet. (That and out of happet I almost always use the defalut wepon.)