Upgrading the license of an ioquake3 based project to GPLv3+

Can a project that is based on ioquake3 that is currently licensed GPLv2+ be upgraded downstream relatively simply (like perhaps just by changing the headers to refer to GPLv3, and including the GPLv3 license in the project)?

Someone said to me that the “or later” only applies to using GPLv2+ code in GPLv3(+) projects, and that a GPLv2+ project itself can’t be upgraded without getting the permission of every developer who has even contributed to that project, and/or to upstream. From what I understand, the “or later” allows anyone downstream to upgrade to GPLv3+ without requiring such additional permission from upstream).

I figure that this is a good place to get clarified on this subject, I want to avoid potentially getting into any licensing violations.

Yes. Software licensed as GPLv2 or later is effectively multi-licensed as GPLv2, GPLv3, and any future GPL version. It avoids having to get permission from all copyright holders to use a later GPL version. https://www.gnu.org/licenses/gpl-faq.en.html#VersionThreeOrLater