First off cut down on the worlds/minigames. The player need a clear picture what the server is about if you don't have strong player base. To get people to join and stay, you need more players which is hard but you need to get friends etc on the servers to help you build etc. Create a nice banner, clear instructions when the players join (not to long).
Another important thing to keep players around is other players if they see that the server is empty they don't go out and start working on their house and riskt he fact that there might be more players online tomorrow. This is hard when you just started the server but there are ways, ask friends to help you with the server, you might have 2-4 friends that can help you build etc and the server is not empty.
You haven't open the port correctly or you tried to open server when the port wasn't open then opened the server when it was open. First of all go into taskmanager > processes. find java press end process then try to open the server again if this doesn't work try these 3 steps 1. Do not set your ip in the Server.properties file 2. Check what router you have and open 25565 both udp and tcp 3. When you done that go into taskmanager > processes. find java press end process