First going to congratulate you in receive these many comments. It is on the other hand very daunting to read all of these comments and plan around what has been said. u/Technoguyfication has quite a nice overall post about this.

Just to summarize the recommendations whilst also add more to your plate. Here's comment 171! 😂

Server Software

Start with Paper, they have a lovely development team who pushes out updates daily for optimizations and performance. Many server owners use this Server Software in competition with Spigot. It is HIGHLY recommended to stray away from Vanilla versions for various reasons, especially Vanilla Bedrock Edition. As I've already seen, you've shifted your focus over to Java, which is a good choice. There is a lot of support for plugins and other helpful modifications.

Allowing other Clients (Java & Bedrock Users)

Version Support

The latest version of Minecraft has awesome additions for decorating blocks and other capabilities. Whether you choose 1.16.5 and support older versions using ProtocolSupport, or start with 1.12.2 and support newer versions of Minecraft using ViaVersion. It's all your choice.

Whitelist

I would always recommend setting up a whitelist for any private servers. This allows you to make sure only verified users are allowed on the server. This may be a slight pain managing 100 players, however, you may be able to offload this task to other platforms, such as Discord for authentication using DiscordSRV. An alternative route would be to using a Google Form.

Server Logs

Server Logs assist in checking what commands are being executed whilst you're not online, contains any errors, player join/leave events. You may view these in the logs/ folder.

Pre-generating your World

One of many server strains for the newer versions of Minecraft servers would be world generation. This has been evident in versions later than 1.12.2. I recommended Chunky with a decent radius from Spawn.

Recommended/Suggested Plugins