Author |
Message |
Mr Ekted Movie Geek

Gender: Joined: Feb 09 2004 Posts: 1379 Offline
|
Posted: Fri Mar 10, 2006 9:43 am Post subject: Object packet handling (binary) |
 |
|
|
|
I am told MGB designed the binary object code. Is this right?
The main problem is that it treats object states as global. This is very bad. Each client can have a different state--and even different coordinates--for each object. The binary object packet needs to be passed straight through to the target(s) as is.
The second problem is that is doesn't work correctly. In the powerball arena in HZ, the scoreboard graphics all get turned on on entry. Does it default ServerControlled objects to ON?
At this point, we are basically going to have to rewrite the object code from scratch. _________________ 4,691 irradiated haggis! |
|
Back to top |
|
 |
Muskrat Server Help Squatter

Age:38 Joined: Aug 24 2004 Posts: 829 Location: Swamp Offline
|
Posted: Fri Mar 10, 2006 11:06 am Post subject: |
 |
|
|
|
Are you saying that modifying objects shouldn't have a private target? It IS annoying that objects can't be modified permanently, as in saving it in the lvz, but I like being able to move an object or something for only one person. If it is re-written will there be a way to do both of these things? Perhaps many public targets save it, but private modifications only temporary until the next public change or re-entering the area, etc. |
|
Back to top |
|
 |
Mr Ekted Movie Geek

Gender: Joined: Feb 09 2004 Posts: 1379 Offline
|
Posted: Fri Mar 10, 2006 11:49 am Post subject: |
 |
|
|
|
I'm saying exactly what I said. If I sent a packet to turn an object on for you, that object is only on for you. It is still off for everyone else. The server has no business "remembering" that state. |
|
Back to top |
|
 |
Smong Server Help Squatter

Joined: 1043048991 Posts: 0x91E Offline
|
Posted: Fri Mar 10, 2006 2:23 pm Post subject: Re: Object packet handling (binary) |
 |
|
|
|
Mr Ekted wrote: | I am told MGB designed the binary object code. Is this right? | I think catid wrote most of the objects module, which might explain why it isn't in modules.conf by default.
Mr Ekted wrote: | In the powerball arena in HZ, the scoreboard graphics all get turned on on entry. Does it default ServerControlled objects to ON? | No, but it will resend objects that were toggled on since arena creation to entering players even if the scripted display time of the object has expired. Commenting out line 622 of objects.c stops old objects being sent to entering players.
Another problem incase you come across it, is if you use any of the Move, Image, Layer, Timer or Mode functions with a non-arena target the server will crash.
Both those bugs are in the tracker, which is probably offline at the moment.
Mr Ekted wrote: | If I sent a packet to turn an object on for you, that object is only on for you. It is still off for everyone else. The server has no business "remembering" that state. | Looking at the code it is only supposed to remember object states for things toggled/modified with arena scope. |
|
Back to top |
|
 |
Mr Ekted Movie Geek

Gender: Joined: Feb 09 2004 Posts: 1379 Offline
|
Posted: Fri Mar 10, 2006 3:16 pm Post subject: |
 |
|
|
|
Well, what we are seeing is that ALL objects get turned ON. In the LVZ they are defined as ServerControlled, which should default to OFF. ASSS appears to be turning all objects ON when you enter the arena. |
|
Back to top |
|
 |
Dr Brain Flip-flopping like a wind surfer

Age:39 Gender: Joined: Dec 01 2002 Posts: 3502 Location: Hyperspace Offline
|
Posted: Fri Mar 10, 2006 7:02 pm Post subject: |
 |
|
|
|
I'm quite sure ASSS doesn't do that by default on a fresh arena (unless it was changed in the past 2 weeks). There's possibly conditions where it might do that, but not straight out of the box.
ServerControlled ARE off by default.
Oh, and I also think it was Catid and not MGB. _________________ Hyperspace Owner
Smong> so long as 99% deaths feel lame it will always be hyperspace to me |
|
Back to top |
|
 |
Bak ?ls -s 0 in

Age:26 Gender: Joined: Jun 11 2004 Posts: 1826 Location: USA Offline
|
Posted: Sat Mar 11, 2006 1:02 am Post subject: |
 |
|
|
|
whenever an object is turned on for the whole arena, it is remembered and sent to entering players. This eliminates the need to resend the scoreboard to entering players. |
|
Back to top |
|
 |
stag shot Newbie
Joined: Jan 18 2005 Posts: 10 Offline
|
Posted: Sat Mar 11, 2006 12:36 pm Post subject: |
 |
|
|
|
Not sure whether the server "should" be doing such things, but I've fixed the problem by simply commenting out the code under S2C_TOGGLEOBJ. |
|
Back to top |
|
 |
Mine GO BOOM Hunch Hunch What What

Age:41 Gender: Joined: Aug 01 2002 Posts: 3615 Location: Las Vegas Offline
|
Posted: Sat Mar 11, 2006 9:52 pm Post subject: Re: Object packet handling (binary) |
 |
|
|
|
Mr Ekted wrote: | I am told MGB designed the binary object code. Is this right? |
I think every bit of code I added has been extended, changed, or removed. So you can't blame me, as I believe a mixture of Catid and Grel did the current object handling code.
The way ASSS handles objects, to ease coding for other modules, is when you send an object state with a target of the arena (ToggleSet in objects.c), it will remember that state so anytime a new user enters , it will update that state for that user (SendState in object.c). To prevent this, from a client side, create a new command in which when toggling a state to the arena, the command will instead send the new toggled state to an array of players and not the arena itself. Or if you want to have this work on your zone only, edit objects.c itself and disable the storage system. |
|
Back to top |
|
 |
Mr Ekted Movie Geek

Gender: Joined: Feb 09 2004 Posts: 1379 Offline
|
Posted: Sat Mar 11, 2006 10:25 pm Post subject: |
 |
|
|
|
I like the feature. It just wasn't working. It was turning on all objects all the time. |
|
Back to top |
|
 |
Grelminar Creator of Asss
Joined: Feb 26 2003 Posts: 378 Offline
|
Posted: Tue Mar 14, 2006 2:44 am Post subject: |
 |
|
|
|
The current objects.c was written by catid. I don't know much about it, or the objects protocol. If you want to fix bugs, or rewrite it from scratch, please go ahead. |
|
Back to top |
|
 |
Goldeye Novice
Gender: Joined: Dec 15 2003 Posts: 57 Offline
|
Posted: Sun Apr 02, 2006 5:25 pm Post subject: |
 |
|
|
|
In most hz arenas we use my varlvz module to manage scoreboards. While it doesn't really handle player-specific states (well, it might, I don't remember) it could easily be adapted for pb.
It sets a named object variable to a numberic state. Could be used to put up numbers, times, words, etc, easily. |
|
Back to top |
|
 |
|