Page 1 of 1

Mapchange Poll Suggestion

Posted: Sat Jan 14, 2017 3:11 am
by sillysir
I've got a suggestion to add a new /poll command for GU. Although I guess most members don't have the access to do /poll, perhaps this can be added independently? Anyway, the idea is to have the command:

/poll mapchange <mapName>

Example: /poll mapchange Hix

This will start a poll to change the map to hix style. If the poll is successful, the command "/mapchange hix" is executed. Otherwise, nothing happens.

It seems like a lot of the time people want to switch maps every now and then but have a hard time deciding as a group. This could help alleviate some of that hassle.

Re: Mapchange Poll Suggestion

Posted: Sat Jan 14, 2017 4:04 pm
by Zehra
I'm thinking if this is really needed.

Also you really haven't said much on how it would work with things :?

Like here's a few things I'm wondering on:

1. Who gets to vote and if everyone, than how much of a vote it is considered.
(Like do only people who played get to choose or are observers not permitted to vote? or is an admin or cops vote more than a player.)

2. What happens if players don't vote?
(Like what happens if you have 4 players and only one votes?)

3. What happens to the regular mapchange option?
(Do we still get to use it or not?)

4. What happens in the event of no consensus being reached?
(What happens if there's a tie in voting? Like half the players want babel and pillbox?)

It probably also requires a good amount of altering the mapchange plug-in to work.
It can work, but I'm not sure if it's even worth the effort to work out :wink:

-Zehra

Re: Mapchange Poll Suggestion

Posted: Sat Jan 14, 2017 8:42 pm
by sillysir
I think you are thinking too much into this. You know how the /poll kick and /poll ban works, right? It would be the same thing, except instead of running the command to kick someone automatically, it would change the map.

1) Every registered GU player gets to vote, just like a regular /poll kick, a random person can't come in and ruin the poll. The logic on how much a vote is considered is already in place for the existing polls.

2) If no players vote or there's not enough to win the poll, then nothing happens, as I said. Again, same logic applies just like a /poll kick

3) Nothing is changed to this part, still the same.

4) This wouldn't be a /vote babel or /vote hix, it would be a /vote yes and a /vote no. Just like any other /poll. If its a tie or too many abstain, then nothing happens.

Example:
4 players are on a ducati map.
/poll mapchange hix
A poll begins asking all players to either vote Yes (/vote yes) or vote No (/vote no).
If majority of players /vote yes, then the command (/mapchange hix) is executed by the server.
If majority of players /vote no, then nothing happens.
If its a tie, then nothing happens.
If not enough players vote, then nothing happens.

I haven't looked at the plugin, but I can't see how this would very difficult and time consuming to code. I feel like its a lot of copy and paste to create the new command.

Re: Mapchange Poll Suggestion

Posted: Sat Jan 14, 2017 9:55 pm
by Zehra
sillysir wrote:I think you are thinking too much into this. You know how the /poll kick and /poll ban works, right? It would be the same thing, except instead of running the command to kick someone automatically, it would change the map.
It's better to think into this a bit too much instead of not thinking enough of it :D
sillysir wrote:I haven't looked at the plugin, but I can't see how this would very difficult and time consuming to code. I feel like its a lot of copy and paste to create the new command.
It requires a good knowledge for the plug-in to "know" what the percentage of voters is and to make decisions based on them. (So no it's not copy and paste :( )
(btw here's a link to the mapchange plug-in if you're interested https://github.com/macsforme/leaguesuni ... /mapchange.)

It's an nice idea sillysir, but honestly I think it seems like a lot of work and effort for a plug-in which really won't make so much of a difference in the game.

I'm thinking like it might be a good idea for you to learn C++ or something and maybe learn to write a few plug-ins.

-Zehra

Re: Mapchange Poll Suggestion

Posted: Sat Jan 14, 2017 10:29 pm
by sillysir
Actually, it would be a copy and paste. As explained, this is already implemented in the BZFlag source code. I am sure that one of these developers or anyone who has experience with this source code would have no trouble pinpointing where this logic is.

Also, I am a professional developer as a living, so I do know how to program, do you? C++ is pretty old and so is this source code, so you are right, I don't have much expertise in this specific plugin. That is why I would rather have allejo or alez or a previous BZFlag developer give their input. And given the fact that I haven't coded C++ in years and have never seen the plugin source code, I just reviewed it for 30 minutes and already have a good understanding how it would be implemented. It's a feature idea though, primarily for the plugin owners to decide.

The purpose of the feature would be to allow people to anonymously decide what they want instead of trying to ask a group of 10 players and getting mixed/unclear results or only having one person respond to you. Having the server constantly send messages to you and ask for a vote would get us more feedback on who wants to play what map. I think it would be handy and the people I have already shared the idea to seemed interested.


P.S. If anyone wants to move my post to the LU thread, by all means. I did this out of habit and really don't get the big deal with all these sections/leagues.

Re: Mapchange Poll Suggestion

Posted: Sat Jan 14, 2017 10:40 pm
by Zehra
sillysir wrote:Actually, it would be a copy and paste. As explained, this is already implemented in the BZFlag source code. I am sure that one of these developers or anyone who has experience with this source code would have no trouble pinpointing where this logic is.

Also, I am a professional developer as a living, so I do know how to program, do you? C++ is pretty old and so is this source code, so you are right, I don't have much expertise in this specific plugin. That is why I would rather have allejo or alez or a previous BZFlag developer give their input. And given the fact that I haven't coded C++ in years and have never seen the plugin source code, I just reviewed it for 30 minutes and already have a good understanding how it would be implemented. It's a feature idea though, primarily for the plugin owners to decide.
If you need help you can visit IRC on #bzflag on freenode and ask for a bit of help if there's something you don't understand.
Also the wiki has lots of information on the API and such.

If it's as easy as what you say and you can do it, I have no opposition or any concern as this would be a personal project.

So feel free to go ahead, don't let my words stop you :wink:

-Zehra

p.s. This plug-in if made would require league approval. (So this might be something to consider too.)

Re: Mapchange Poll Suggestion

Posted: Sun Jan 15, 2017 1:17 am
by kaadmy
I don't think BZFlag's internals even support map changing while connected, it'd probably require a large rewrite of the networking system to implement it.

Re: Mapchange Poll Suggestion

Posted: Sun Jan 15, 2017 2:27 am
by Zehra
Mapchange iirc disconnects players from a server before changing map.
So this actually isn't an issue. (I think.)

Re: Mapchange Poll Suggestion

Posted: Sun Jan 15, 2017 4:09 am
by allejo
I can get behind the idea for having a poll option for /mapchange. However, before that happens it'd be best that the BZFS API natively support custom polls so this type of functionality can be added easily to any plug-in without having to rewrite all of the logic (or "copy paste" it); I'll be working on adding that to the API so this functionality will probably be implemented in the coming days (or weeks because of laziness).

And you are correct Zehra, the way the mapchange plug-in works is by changing which map should be loaded next time the server starts and then shuts down the server. Another script that's always running must be used to restart the BZFS process with the new map.

Re: Mapchange Poll Suggestion

Posted: Tue Jan 17, 2017 5:50 am
by click click boom
Pretty dumb if you ask me. Is it that hard to ask "what do you guys want to play?"

Re: Mapchange Poll Suggestion

Posted: Mon Jan 23, 2017 5:12 pm
by alfa1
I agree with the API idea. Other case where to be used would be: when you want to '2 in'. Then 1 message appears to players and they have to vote. Incommers have the '/join <partner>' command; somewhat similar to make an offi match on 1vs1 servers. And players would have the complete info about who are joining.
It was discussed, and seemed too complicated. But, if you add the feature of forbidding anybody to join a game in progress, then you will have the complete control on it; no interruptions. Other use would be in a public server like the one I am running.
Maybe we get some enthusiasts to do it (I'm having some issues with licenses :/ .)

Edited:
Other case, related to the previous one: if 2 teams don't want to accept new players (to avoid even more interruptions), they could do '/poll closedgame', and vote. Then, future attempts to do '/join <partner>' will be automatically negated; no messages to players, nothing. There was this kind of cases too.
When doing subs: outgoing player would have the '/allow <subbing player>' command, or the other players could accept a single '/join' petition, exceptionally.
I remember too: for games. '/poll game' (or '/poll fm' and '/poll offi'). Then you get the results: who wants; how many votes.

I think these ideas (from Sillysir and I) of how applying the API could make, maybe, repetitive things more automatic, cleaner and faster; lots of possibilities, for leagues and not leagues.

Re: Mapchange Poll Suggestion

Posted: Mon Jan 23, 2017 6:41 pm
by Zehra
It would be nice to have the script for running the mapchange plug-in.

Re: Mapchange Poll Suggestion

Posted: Mon Jan 23, 2017 11:02 pm
by macsforme
Zehra wrote:It would be nice to have the script for running the mapchange plug-in.
You use a script that's suitable for your particular needs.

Here is the script that LeaguesUnited uses: https://github.com/macsforme/leaguesuni ... g/start.sh

This post has another script (older, not sure if any fixes are necessary): viewtopic.php?f=79&t=9903&p=98402&hilit ... nge#p98402