GithubHelp home page GithubHelp logo

Comments (8)

ec- avatar ec- commented on August 17, 2024 1

I wouldn't bother supporting vanilla q3 qvms for anything other than 'authenticity' as it has a LOT of bugs and unpatched vulnerabilities, consider using baseq3a mod with dedicated rotation system

from quake3e.

Chomenor avatar Chomenor commented on August 17, 2024 1

From what I can tell, this looks like a valid engine bug. In quake3e, SV_Restart is invoked automatically due to time overflow conditions, which calls the map console command, which calls SV_SpawnServer, which resets the nextmap cvar and breaks the rotation. In vanilla q3, it looks like the reset is done via vstr nextmap instead which allows the rotation to update nextmap and preserve itself.

I'd suggest that SV_Restart should not alter the nextmap cvar. Additionally, if there is any compatibility reason to keep the nextmap reset in SV_SpawnServer at all, it would probably be good if there was at least a cvar option to disable it to allow a setup where a standard rcon map command doesn't automatically break the rotation.

from quake3e.

ensiform avatar ensiform commented on August 17, 2024

Did it stay on a map for multiple days? Without change? You might also not have sv_levelTimeReset set.

I am not entirely sure if it is the best idea to preserve the value of nextmap cvar upon forced restart on extreme long uptime or even the slightly less extreme long uptime either. There may be some corner case issues where setting it to the old value could break other mods, they would need to be tested and investigated if it is safe to do so.

Related:
https://github.com/ec-/Quake3e/blob/master/code/server/sv_main.c#L1337-L1355

https://github.com/ec-/Quake3e/blob/master/code/server/sv_main.c#L1249-L1274

from quake3e.

ostrich avatar ostrich commented on August 17, 2024

The server can stay up without a map change for multiple days, though not typically 23 as mentioned in the first link. However, I've observed the problem even with clients on the server reaching fraglimit. I have timelimit set to 0. The map rotation will work fine for several maps as players reach fraglimit and will then begin to restart the same map over and over as nextmap somehow becomes set to map_restart 0.

I'll try setting sv_levelTimeReset and see if that helps.

from quake3e.

ensiform avatar ensiform commented on August 17, 2024

Have you considered using the ec-/baseq3a mod? It has fixes plus also a replacement system for map rotation iirc.

from quake3e.

ostrich avatar ostrich commented on August 17, 2024

Oh nice, I will look into it. Thanks.

from quake3e.

Chomenor avatar Chomenor commented on August 17, 2024

To be clear, isn't vanilla qvm support important for mod compatibility? Mods based on the vanilla game may not implement every patch but it's still useful for the engine to support them as well as possible.

from quake3e.

Chomenor avatar Chomenor commented on August 17, 2024

For reference, it looks like cnq3 does not reset or touch nextmap at all.

from quake3e.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.