Adding an Ignore and/or a Kick feature

We got a live a-hole right now spamming crap in game chat (mod = World of Warcraft minis) and generally being a nuisance as an observer to people actually playing a game. Any sort of method on how to get rid of griefers outside of locked rooms would be neat, as we sometime wish to allow random observers, at least until they show themselves as idiots.

At least some way for me to put someone annoying on my Ignore list.

This seems to becoming a fairly high priority. (What is it about WoW and WH :slight_smile:.

Concrete suggestions and discussion on how we can address these problems would be appreciated.

Something like this perhaps:

The person who creates the room becomes the ‘Owner’ and is given additional priviledges and menu options:

  • Remove a player from the room

  • Muzzle a player (prevent them from chatting in the room. Perhaps not needed, just kick them?)

  • Invite a player in another room to join a locked room

B.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

A “kick” option with a message like:

You’ve been kicked for 5 minutes. You may return after that but if you get kicked again, it will be permanent.

…and a straight out “ban” option, as well.

I haven’t had these kinds of problem in a Vassal game yet but I’ve encountered them in other games and chat rooms and those options have always worked well for me.

Thus spake “Brent Easton”:

I asked a friend who has broad experience with online multiplayer games for
a summary of how this kind of thing is handled in games these days. Here’s
what he said. My comments to follow.


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Thus spake “Brent Easton”:

I think we need the following:

  • A way to block messages from players. (Like IM clients have.) I would
    look for this on a context menu raised by right-clicking on a player’s name.

  • A way to kick a player from a room. (I’d look the same place for that.)

  • A way to lock a room to prevent anyone not already inside from entering.
    (Were we ever able to resolve whether this works at present?)

  • A way to invite a player to join a locked room.

  • A way to prevent observers from mucking about with pieces. (Locking rooms
    will prevent observers from wandering in to observe. It would be nice if we
    could force observers to keep their hands to themselves.)

For blocking messages, it’s clear that this is up to the individual users.
For the others, it’s not clear to me who should have the ability to do these
things.

E.g., there are several kick policies which we could implement:

Consider the following sets:

Kickers = { anyone, any player, the creator of the room }

Kickees = {
anyone,
anyone who is not a player,
anyone who a majority of the users vote against,
anyone who a majority of the players vote against,
anyone who all players vote against
}

Then take the cartesian product of these (Kickers x Kickees). Each pair
gives a kick policy, which tells you who the eligible kickers and kickees
are.

Some of these are clearly crazy, like (anyone,anyone), since that would let
a troublemaker kick bona fide players out of a game.

I think we might have the right conditions for a voting system to work
(mechanism: vote to kick a player on a context menu raised by right-clicking
on the player’s name). In an FPS game, the action can be happening to quickly
for players to take time to vote, there can be 20+ players, there’s not much
time investment in any particular game, and there are other servers to go to
if someone is being intollerably obnoxious. For us, the most common case would
be two players who don’t have to worry about being shot in the head if they
stand still long enough to lodge a kick vote.


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Your friend is incorrect.
In FPS multiplayer The ability to remove a player from a room (in their case
server) or invite into is commonplace - see GR, COD etc…
It is handled by the owner/creator of the server via IP Ban/allow and access
password. We would just need to localize it for rooms instead of the server

The FPS multiplayer does not muzzle a player however, but that feature is
common to MMORPG’s like WOW

I do not know if it is 3rd party software that comes with these games or
hardcoded in but the abilities are there.

The stuff he talks about (vote banning) is another feature which is usually
turned on by an owner who is not going to be there to keep control of their
server and leave it up running 24/7 while making it public. This is a fairly
useless feature as he says, but for us, the owner of the room is going to be
there in order to play their game, so should be in control of the room they
have created

Post generated using Mail2Forum (mail2forum.com)

Thus spake “Tim McCaron”:

So you think the kick policy should be (owner,anyone), then?


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Owner / room creator only

Post generated using Mail2Forum (mail2forum.com)

On Tue, December 2, 2008 12:39 pm, Joel Uckelman wrote:

Can the original creator / owner leave, and still have the room be active
for remaining players?

Is anyone actually doing this in practice? (I’m thinking long-running
games with player elimination, or re-using the same room for multiple
games, and I’m not sure how much of either exists).

If both yes, it might be worth thinking about something a bit more
IRC-style where the owner can promote other players to ‘ops’, but if not,
that’s probably overkill.

Cheers,
Tim.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Thus spake “Tim Franklin”:

Could we get some volunteers to try this and report back here?


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Yes, I agree with that. I think it should be kept simple:

  • The ‘owner’ (ie. room creator) is king and has complete control.

  • If the ‘owner’ leaves, then 2nd player on the list becomes ‘owner’, or perhaps the ‘owner’ can pass his ownership on to another player.

  • I would not bother with the voting mechanism, at least for starters, unless it was clearly warranted and needed. It would be useless in the vast majority of modules, and even on those that would use it, ‘owner can kick anyone’ will usually do the trick.

  • In games where Sides are defined, I think the default should be that Observers cannot send any Commands to other players at all except for DisplayText commands.

  • In games where Sides are not defined, there are issues, because Players and Observers are not distinguishable. The ‘owner’ of a room could right-click on a players name and force them into an ‘Observer’ status (i.e. no commands except DisplayText), even in a game with no Sides. There are valid reasons why a module designer may not wish to define Sides, but this would give players a way to control who has access to the game.

B.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Thus spake “Brent Easton”:

Ok, I think giving the owner kick permission would be alright as a first try.

I have some questions now:

  1. Can we get the attention of the V40K people so they can tell us whether
    what we’re proposing is adequte for them, or if they see problems?

  2. How do we implement this? Silencing a player is something we can and
    should do do from the client-side, as it’s an individual setting. I’m not
    sure about kicking players from rooms. If it’s possible to write code for
    this to do it from the client-side, then that’s an awful security flaw.
    On the other hand, if it require server modification, then we need Rodney
    to do that, or for him to open the server code.


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

I’m nothing official but allowing owner to kick from rooms should at least reduce the problems we see now. It’s important that this should break synchronisation for the kicked player, to prevent further interference after the kick.

I would think the actual kick should be done by the server on command from the room owner.

You might want to consider banning by client password, IP-range, or any other means of identifying a particular client, too. That should be a power vested in the server admins only - you could exercise it based on player reports showing disruptive behaviour. It wouldn’t be perfect but would go a long way towards locking this sort of thing out.

V40k man here!

Kick function would be brillaint,

Best way we see is to give whoever made the room the power, then if he leaves the second person, and so on.

Kicking is a good thing, but it still doesn;t stop them coming into the room and messing up before its too late.
The lock room feature needs improving, you can get round it at the moment.

Maybe something like:
Only allowing PLAYERS to move things, whoever creates the room/game can set how many people can join as players, wand once that is full anyone else who joins automatically becomes an observer and can’t touch anything.

Cheers
Tim Davis
V40k

Thus spake “Dezartfox”:

How? We haven’t been able to reproduce this ourselves. Can you give us
a list of steps which will work every time?


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

I’ve heard its when the server refreshes or something.
The room box flashes and all the rooms become unlocked for a few seconds.

Or, you can join an unlocked room, and then sync with a person in the locked room.

We have one constant spammer… who impersonates me and posts links to websites which damage your pc.
So something to stop people impersonating others would be good too! :slight_smile:

A temporary identification feature might be to display the user IP in the
rooms.
If some one is using another persons name for spamming I suspect that they
are not going to like having their IP broadcast to everyone for easy
identification.
Joel, the ladder software (which is currently disabled for other reasons)
already has IP capture and banning. If we can integrate it with vassal
somehow( and fix its problem at same time) we solve the problem.
Then if there are any “people problems” we can go into the admin and ban the
offending player via IP from the server

Post generated using Mail2Forum (mail2forum.com)

Haven’t heard this one before. More details please. Have you seen this happen, or is this a rumour? How often does this window of opportunity become available?

Yes, but our testing has shown that even though you can sync with someone in a locked room, you cannot cause any changes in the locked room. If this is not true, could you please supply the exact steps to

Ok, I think this is the actual problem. The spammer is impersonating other players and joining unlocked rooms pretending to be someone else before the rooms are locked. In this case a Kick feature will help. As long as the spammer doesn’t start the room!


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

The next release of the server will be based on the XMPP (Jabber) protocol. Essentially, the server will be an out-of-the-box server implementation, and VASSAL will be a custom client. I have this all prototyped out. What the XMPP standard gives you is:

  • Authenticated accounts, so your identity is password-protected
  • Lock room, kick user out of room, ban user from room, ignore user. All enforced on the server.
  • Room creator is the owner and has complete control, including ability to transfer ownership to another user
  • Mature and solidly tested server implementations

Some things won’t be doable, like demoting a player to Observer (maybe you could fake it if XMPP has a ‘mute’ action). It will require development work to make VASSAL take advantage of these features, but at a minimum, the first release will have authenticated accounts and server-enforced room locking. Kick would come next, probably, then ignore, then transfer owner. But getting rid of the ability to impersonate another player and having foolproof locking rooms pretty much solve the spam problem.

rk

Post generated using Mail2Forum (mail2forum.com)

Thus spake “Rodney Kinney”:

Do you have some idea how far in the future this will be?


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)