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

Empty server map change causes dedimania problems #889

Closed
TomRiddle01 opened this issue May 13, 2020 · 3 comments
Closed

Empty server map change causes dedimania problems #889

TomRiddle01 opened this issue May 13, 2020 · 3 comments

Comments

@TomRiddle01
Copy link
Contributor

Maniaplanet seems to automatically change maps when a server is empty.
This can be seen on servers with no time-limit on rounds (e.g. rpg servers).
This leads to dedimania not beeing synced correctly.

Expected Behavior

Any numer of players drives dedimania-records on an (rpg-)server with no round-duration and leaves after that.
While the server is empty and the map is switched due the undesired map switch by Maniaplanet.
Expected: The dedimania records are saved either way.

Actual Behavior

After these obscure random map-changes the dedimania times disappear (or were never uploaded to dedimania).
Maybe it is because the map_end signal is not triggererd.

Steps to Reproduce (including precondition)

  1. Disable TimeAttack round duration (set to -1)
  2. Drive a dedimania record.
  3. Leave the Server and keep it empty
  4. Wait for a map-change
  5. Check if dedimania record was uploaded or not.

Additional Notes

I don't believe this has to do with Issue #791 .
A possible solution might be to upload the dedimania records in set intervals (e.g. 5 minutes) or as soon as a player leaves.
This seems to be the undesired map-switch https://forum.maniaplanet.com/viewtopic.php?t=46148&p=309215

Your Environment

  • OS: Debian Buster
  • PyPlanet version: 0.7.4
  • Python version: 3.7.6
@TheSuperNoob
Copy link

TheSuperNoob commented May 13, 2020

I believe the problem here is that the listener for podium_start never gets triggered. This is when dedi times are sent. This never gets triggered because the server does a quick skip after 4 hours and there are no active players on the server (It will still skip if there are spectators) and does not play the podium sequence.

If its possible to move the dedi trigger to the map_end event I believe this could fix it.

Additionally according to This dedimania page: dedimania.SetChallengeTimes at the end of map (sending all players best time -new records or not-, and get the new records list),

So sending new dedi times should only happen at the end of the map.
I believe if you try to send new dedimania times many times during one map it might complain at you, so its best to only send dedimania times once per map.

@TheMaximum
Copy link
Member

Sending the times is done on map_end, however retrieving the replays is done on podium_start. I don't know if the replays are available on map_end...

@TheMaximum
Copy link
Member

Thanks again for writing and sharing your issue(s) with us and apologies for the long wait. Due to being occupied by life, work, and other projects, our capacity to fix/implement issues has been and is limited. As this is an old(er) issue with no recent activity, we've decided to close this without further implementation. If you feel this issue is still relevant for us to look at and implement, please feel free to reopen it.

@TheMaximum TheMaximum closed this as not planned Won't fix, can't repro, duplicate, stale Aug 21, 2023
@TheMaximum TheMaximum removed this from the Version 0.10.7 milestone Aug 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants