Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

title - heh - idk - #13

Open
lllx3 opened this issue Mar 22, 2021 · 5 comments
Open

title - heh - idk - #13

lllx3 opened this issue Mar 22, 2021 · 5 comments

Comments

@lllx3
Copy link

lllx3 commented Mar 22, 2021

disclaimer : I'm not natural english speaker, so please do not trustfully copy paste anything
also these are just suggestions because I have a lot of ideas, but I've been running 1.3.7 for weeks now (trying 1.4.1 now) and it is already good enough for me.
oh, and sorry, I'm very bad at making anything easy to read xD

1- texts

legend :

currently
targeted
translation proposition
commentary

Translation is not that bad. Mainly lacks informations
for example :

  • (on website and typing !info on #multiplayer in osu! client)
    " osu-ahr
    irc bot for osu! multi lobby auto host rotation.
    The order of hosts is managed by queue. Added last when a player joins the lobby."

The host rotation is managed by a list. Player is queued at the bottom when joining lobby or when his map pick was played.

Gives better intel on how bot works

!queue | Shows host queue.
!skip | Votes to skip current host.
!start | Votes to start the match.
!abort | Votes to abort the match. Use when the match is stuck.

!update | Updates current selected map to the latest version. Use when has host old map.
!regulation | check current regulation.

!skip | Triggers vote to skip current host / Votes to skip current host.
same for abort and start
Use when host pick an old map

for the third command table for owner : add s at the end of verbs ( to keep coherence with the two other tables )

             legend does not apply anymore after this
  • in osu! client
    uwuwiwiwwiuw
    this is default output when typing !info on #multiplayer
    most ppl don't understand that the link sends you to command list, so people tend to not open it/ open it but don't scroll down to readme part, I suggest modifying default message to make it more clear

  • apparté and "bugs"
    I can't find patchnotes, and there are issues I found where on 1.3.7. and I have no idea if they are fixed now as I started using 1.4.1. recently
    also I have connexion issues, knowing this might help you figure how these happened.

"ghost" player can be in queue (1.3.7)

occured while I was asleep, and as I was modifying queue order and someone left at about the same time.
but basically a player is not removed from rotations, and list will be up to 17 players long. On ghost player's turn, will give host to the person after him and freezes the rotation as bot fails to detect the map was picked by current host and will remain on ghost player's turn
sorry I failed to reproduce this on purpose and didn't manage to find it in logs (just discovered they exist) so I don't have a deep understanding of it and how it occurs

not changing map exploit

I think If I just don't change map from previous host, I can just start the map over and over again and keep the host forever.
This killed several lobbies

other occurence of host apparently failing to rotate

3- host passation and idle mode

Two ahr users can swap who is using the bot but you have to manually shared the host rotation, and one have to manually terminate his bot. doing otherwise can lead to bot spamming #multiplayer and may break rotations.
A good improvement would be for an ahr bot entering a lobby to be able to check via irc if there is another bot running in the lobby, and if there is, turn it off after taking the queue list.

this lead to the next point that would be an amazing upgrade aswell :
what if I don't want the rotations to be managed by the bot, but I still want to be able to restrict difficulty range and make use of !update !abort !skip commands ?
I probably could find a way to do that but I havn't found the information so far, so making some explanations on this accessible could be useful

4- General communication

this bot is not doing good at making himself known.
Very young people play osu! aswell as people with not fully wired brain ( like myself ) and ahr bot is doing a very bad job at explaining its features and why it is a good thing for multiplayer.
Some options could be added ( and even some of them could probably be default settings )

- !abort !skip !start

when stuck in a game, !abort command is almost never excecuted. Even if I decide to show the example and do !abort instead of !mp abort, nobody follows the vote. same goes for the two mentionned commands and !start [secs] for host command

This could be improved by sending a message when the vote starts,

so for example with the !abort command instead of :
dude1 : !abort
ahr-bot : abort progress : 1/4
dude2 : wtf is going on ? I'm stuck

we could have :
dude1 : !abort
ahr-bot : stuck ? dude1 has started a vote to abort the game. vote progress : 1/4
dude2 : firetruck what's going on
dude3 : !abort
dude2 : oh
dude2 : !abort

- ahr-bot !start countdown isn't as good as bancho's countdown

so why doesn't this command just trigger the ahr-bot-user to say in #multiplayer : !mp start

- ahr-bot and ahr-bot-user are pretty much indifferenciable, ahr-bot doesn't give tips :

so here's my ideas : why doesn't bot say that it's a bot talking whenever these are not commands ?
for example :
owuwiwiwwiuw
could be
!mp map 987987
[bot] picked map : star=987 lenght=987
[bot] Violation of regulation blabla
[bot] please pick another map

oh and about this, map picker should get skipped after failing a certain amount of time to pick a map that is in range.

untitled feature idea that is probably not worth spending the time

in many games, on loading screen, you have actual tips about the game that help the huge majority of newcomers to understand elementary mechanic
similar feature here would be for the bot to give tips such as :
" [bot] stuck in a game ? try the command "!abort" to start a vote to abort the game ! "
" [bot] want to run auto host rotations bot on your own lobbies ? check <url's youtube video> for EASY setup "
" [bot] I have been running for "
" [bot] Meowhal needs your help ! please send any translation error you may find at "
" [bot] Can't download a map ? try the "!update" command ! "
these could be plugged with a long cooldown when host do !start countdown for example.

that's about it ! not that I have any others things to say, but I spent a lot of time doing this already :D

oh, one last thing

Thanks for amazing tool that enhance significantly my multiplayer experience :3

@Meowhal
Copy link
Owner

Meowhal commented Mar 23, 2021

Dear Meowhalfannumber1
I'm writing this comment to thank you soon.

All of these advices are likely to be very helpful in improving this project.
I will rewrite the readme based on your advice after this.
The rest will be processed one by one, so please give me some time.

@Meowhal
Copy link
Owner

Meowhal commented Mar 23, 2021

Summary and Comman list

The host rotation is managed by a list. Player is queued at the bottom when joining lobby or when his map pick was played.

Gives better intel on how bot works
..

This is a long-awaited aid.
Documents are just as important as code. I knew it, but I couldn't provide good quality in my strange English.
This advices will be reflected in the next commit.

Default information message

this is default output when typing !info on #multiplayer
most ppl don't understand that the link sends you to command list, so people tend to not open it/ open it but don't scroll down to readme part, I suggest modifying default message to make it more clear

From now on, Readme.md will be for bot owners and developers, and CMDLIST.md will be for players.
The command list link in the infomassage navigates directly to the CMDLIST.md page.

"info_message": [
-    "-  The order of hosts is managed by queue. Added last when a player joins the lobby.",
-    "-  github|cmdRefs : [https://github.com/Meowhal/osu-ahr github/osu-ahr]"
+    "-  The host rotation is managed by a list. Player is queued at the bottom when joining lobby or when his map pick was played.",
+    "-  Check the links > [https://github.com/Meowhal/osu-ahr/blob/master/CMDLIST.md Command List] | [https://github.com/Meowhal/osu-ahr Source Code]"
],

ahr_info_sample

I think it become clear.

@Meowhal
Copy link
Owner

Meowhal commented Mar 24, 2021

"ghost" player can be in queue (1.3.7)

occured while I was asleep, and as I was modifying queue order and someone left at about the same time.
Did you modify the queue by *order command?
Sometimes the bot misses messages from banchobot. I don't know why, but it could be due to a network failure.
I added a lobby size checker to make sure the size is not over 16 after a player joins.
The bot sends !mp setting command to recover the situation when a 17th player joins.

I commied it to dev branch as version 1.4.3

not changing map exploit

I intended that no rotation would be performed in this situation.

  1. Match finished.
  2. PlayerA became host.
  3. PlayerA picked a map.
  4. PlayerA transfered host to PlayerB.
  5. PlayerB didn't pick a map
  6. Match started.

On the other hand Bot should rotate in this case.

  1. Match finished.
  2. PlayerA became host.
  3. PlayerA didn't pick a map.
  4. Match started.

I have no idea what was happen on your log.
Why Fluffy Werewolf became the host twice?
I need detail logs. Could you send me the corresponding part of /logs/app/77357809.log?

@lllx3
Copy link
Author

lllx3 commented Mar 26, 2021

Did you modify the queue by *order command?

I used reorder command in git bash. But it also happened while I was away. But maybe it is just due to the time required for him to be the host I can't say.
But I have only one occurence of "ghost" player being put back to the bottom of the queue and doing full rotation again, and even if I'm pretty sure I didn't manually did that (nor how I would do that) , I cannot say it was not a mistake on my end.
My thinking is that ahr-bot somehow never received the information that the player left the lobby, but again I don't know how the bot handles player detection.

On the other hand Bot should rotate in this case.

my bad then ! I will try to be more accurate if I do other feedbacks in the future

Oh and sorry if I reply late

@Meowhal
Copy link
Owner

Meowhal commented Mar 26, 2021

I read the log and it turned out to be terrible. I apologize to you and the players.
I think the latest version is fine, but additional precautions are needed.
I set aside time on Sunday to tackle the problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants