Ticket #14 (closed enhancement: fixed)

Opened 2 years ago

Last modified 1 year ago

Prizes module check for illegal prizes

Reported by: Maverick Assigned to: dugwyler
Priority: low Component: Bots - TWBot
Version: Latest version from repository Severity: major
Keywords: Cc:

Description

Kim: "prizing things like bounce, guns, thruster, rotation, energy, recharge, bombs, proximity, can disconnect ppl, clearing the arena."
(Bot needs to check if it can prize without kicking people for illegal weapons - if possible)

Attachments

Change History

01/25/07 11:56:38 changed by Maverick

  • type changed from defect to enhancement.

03/21/07 06:44:49 changed by dugwyler

  • owner set to dugwyler.
  • priority set to low.
  • status changed from new to assigned.

03/21/07 06:44:57 changed by dugwyler

  • status changed from assigned to closed.
  • resolution set to fixed.

Disabled prizes known to cause problems. On the rare occasion an arena needs those prizes, there's usually either a specific bot that does it, or they're available in the ?buy menu, as in glider.

Let me know if you guys can think of any place where this might be restrictive. Perhaps we could allow a bypass for SMods or the like.

03/21/07 15:20:10 changed by Maverick

  • status changed from closed to reopened.
  • resolution deleted.

Maybe a bit hard to accomplish but maybe this can be fixed in the following way?

The bot checks the settings of the arena to see if it can prize the specified prize without being it illegal. I believe it's a green setting somewhere. If the prize isn't greenable then if it's prized to normal players it will produce server warnings and eventually kicking the player off.

If possible, this way the bot doesn't need to have certain prizes disabled but only a few per-arena and is 100% safe.

03/21/07 21:02:01 changed by D1st0rt

  • severity changed from minor to major.

For that to work optimally, I'd have to get around to finishing up the handling of settings updates. We wouldn't want to implement anything new using a ?get message parsing callback, that would just be ugly.

03/22/07 04:59:07 changed by dugwyler

Yeah, that was the big reason I was not wild about doing it that way, and opted rather for the "TW method" — quick and dirty, that is. Using ?get would in a way be even more dirty. For the meantime, the extreme prohibitionist approach should probably be fine, as I really can't think of a single (TW) event in which any of these prizes are used. (As far as maintaining an image as a reputable core that may be used elsewhere, it doesn't work so well; then again, it's extremely easy to change which prizes are restricted.}

Around how much memory does carrying around a settings class require? I know it can't be all that bad, but it's certainly overhead that will only be put to use in a very small portion of bot uses.

04/17/07 02:12:35 changed by flibb

Can we get more information before simply disabling these prizes? I have one arena where prizing bomb is the only way to upgrade.

04/17/07 15:58:01 changed by dugwyler

If we want this sort of thing prize-able, these are the current options (others can of course be suggested):

1) Allow something like only HighMod+ to override restricted settings. ERs would need to ask for assistance when hosting an event that prizes something unusual.

2) Give a warning when someone tries to prize a restricted prize rather than disallowing it. They then need to send an additional command to "take responsibility" for any unusual prizing done on that bot. If needed it could print the ref's name to robodev chat.

3) Just re-enable them. (We can still keep never-used things such as bounce restricted.)

These were suggested before, but are still open:

4) Do a ?get on the server settings and have the command operate with a little lag between when the command is issued and the setting is verified. This is considered a fairly dirty method — a hack.

5) Hold the overhead of the settings packet inside the bot and reference this. Requires finishing of settings info. We could perhaps just have it parse necessary info needed for prizing? This is a decent amount of work; very clean though.

I would say 1 and 2 are the best options.

04/18/07 00:06:12 changed by Maverick

I would go for 5 :p

04/18/07 05:56:53 changed by dugwyler

#5 is overall the cleanest, yeah, but it's all reliant on the settings work, which has gone on for a long time, and is certainly a tedious and not very exciting job from what I could see. Plus, not sure how D1s is feeling after what just happened … I mean… jesus.

02/05/08 08:17:21 changed by dugwyler

Presently option 1 is how this works. If another method is desired/necessary, reopen the ticket.

02/05/08 08:17:38 changed by dugwyler

  • status changed from reopened to closed.
  • resolution set to fixed.

Add/Change #14 (Prizes module check for illegal prizes)




Change Properties
Action