RealisticSeasons adds about 70 custom biomes (a new mechanic in 1.16) to the server that will be used for the season colours. This requires no resourcepack, all biome data is sent to the player on login and it happens invisibly. This does not require any kind of mod, a vanilla Minecraft client will perfectly be able to see all the season colours. No annoying resourcepack popups.
While the players may see different colours and biomes (even in f3), the actual vanilla biomes are never changed on the server. The season biomes are injected into the packets to the players. This means that the biomes the players are seeing are not real and the vanilla biomes are still in place. This makes running the plugin extremely safe. Other plugins and vanilla mechanics that interact with biomes will work just like normal and if you decide to remove the plugin all the colours will be gone instantly.
Each biome has its own colours and each and every colour can be changed by the server owner. This allows you to basically create your own seasons, see (custom) biomes in configuration for details.
RealisticSeasons has a system that detects other plugins that register custom biomes and seasons will automatically be applied to those biomes. RealisticSeasons chooses the best effects using the biome's temperature. Take a look at this page for more information.