Server Help Forum Index Server Help
Community forums for Subgame, ASSS, and bots
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   StatisticsStatistics   RegisterRegister 
 ProfileProfile   Login to check your private messagesLogin to check your private messages   LoginLogin (SSL) 

Server Help | ASSS Wiki (0) | Shanky.com
Object packet handling (binary)

 
Post new topic   Reply to topic Printable version
 View previous topic  python questions Post :: Post newbie question regarding the new ASSS...  View next topic  
Author Message
Mr Ekted
Movie Geek


Gender:Gender:Male
Joined: Feb 09 2004
Posts: 1379
Offline

PostPosted: Fri Mar 10, 2006 9:43 am    Post subject: Object packet handling (binary) Reply to topic Reply with quote

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
View users profile Send private message Add User to Ignore List
Muskrat
Server Help Squatter


Age:38
Joined: Aug 24 2004
Posts: 829
Location: Swamp
Offline

PostPosted: Fri Mar 10, 2006 11:06 am    Post subject: Reply to topic Reply with quote

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
View users profile Send private message Add User to Ignore List AIM Address
Mr Ekted
Movie Geek


Gender:Gender:Male
Joined: Feb 09 2004
Posts: 1379
Offline

PostPosted: Fri Mar 10, 2006 11:49 am    Post subject: Reply to topic Reply with quote

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
View users profile Send private message Add User to Ignore List
Smong
Server Help Squatter


Joined: 1043048991
Posts: 0x91E
Offline

PostPosted: Fri Mar 10, 2006 2:23 pm    Post subject: Re: Object packet handling (binary) Reply to topic Reply with quote

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
View users profile Send private message Add User to Ignore List Visit posters website MSN Messenger
Mr Ekted
Movie Geek


Gender:Gender:Male
Joined: Feb 09 2004
Posts: 1379
Offline

PostPosted: Fri Mar 10, 2006 3:16 pm    Post subject: Reply to topic Reply with quote

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
View users profile Send private message Add User to Ignore List
Dr Brain
Flip-flopping like a wind surfer


Age:39
Gender:Gender:Male
Joined: Dec 01 2002
Posts: 3502
Location: Hyperspace
Offline

PostPosted: Fri Mar 10, 2006 7:02 pm    Post subject: Reply to topic Reply with quote

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
View users profile Send private message Add User to Ignore List AIM Address Yahoo Messenger MSN Messenger
Bak
?ls -s
0 in


Age:26
Gender:Gender:Male
Joined: Jun 11 2004
Posts: 1826
Location: USA
Offline

PostPosted: Sat Mar 11, 2006 1:02 am    Post subject: Reply to topic Reply with quote

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
View users profile Send private message Add User to Ignore List AIM Address
stag shot
Newbie


Joined: Jan 18 2005
Posts: 10
Offline

PostPosted: Sat Mar 11, 2006 12:36 pm    Post subject: Reply to topic Reply with quote

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
View users profile Send private message Add User to Ignore List
Mine GO BOOM
Hunch Hunch
What What
Hunch Hunch<br>What What


Age:41
Gender:Gender:Male
Joined: Aug 01 2002
Posts: 3615
Location: Las Vegas
Offline

PostPosted: Sat Mar 11, 2006 9:52 pm    Post subject: Re: Object packet handling (binary) Reply to topic Reply with quote

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
View users profile Send private message Add User to Ignore List Send email
Mr Ekted
Movie Geek


Gender:Gender:Male
Joined: Feb 09 2004
Posts: 1379
Offline

PostPosted: Sat Mar 11, 2006 10:25 pm    Post subject: Reply to topic Reply with quote

I like the feature. It just wasn't working. It was turning on all objects all the time.
Back to top
View users profile Send private message Add User to Ignore List
Grelminar
Creator of Asss


Joined: Feb 26 2003
Posts: 378
Offline

PostPosted: Tue Mar 14, 2006 2:44 am    Post subject: Reply to topic Reply with quote

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
View users profile Send private message Add User to Ignore List Send email Visit posters website
Goldeye
Novice


Gender:Gender:Male
Joined: Dec 15 2003
Posts: 57
Offline

PostPosted: Sun Apr 02, 2006 5:25 pm    Post subject: Reply to topic Reply with quote

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
View users profile Send private message Add User to Ignore List Send email
Display posts from previous:   
Post new topic   Reply to topic    Server Help Forum Index -> ASSS Questions All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum
View online users | View Statistics | View Ignored List


Software by php BB © php BB Group
Server Load: 16 page(s) served in previous 5 minutes.

phpBB Created this page in 0.479654 seconds : 37 queries executed (93.7%): GZIP compression disabled