Minecraft has a set of gamerules which can alter the way a server works. Gamerules can alter multiple game mechanics, a full list can be found below.
Gamerules can be altered using the command /gamerule <rule> <value>.
1.8 and higher:
commandBlockOutput -> Should the output of commands sent in command blocks be sent to console and server operators? (true/false) doDaylightCycle -> Should time pass by? Setting this to false will mean that the server stays on the current time. (true/false) doEntityDrops -> Should entities (excluding mobs) have drops? (true/false) doFireTick -> Should fire be able to spread and extinguish itself? (true/false) doMobLoot -> Should mobs drop items when they die? (true/false) doMobSpawning -> Should mobs be allowed to spawn naturally? This option does not affect mobs spawned from spawners or by command. (true/false) doTileDrops -> Should blocks drop when you destroy them? (true/false) keepInventory -> Should players keep their items when they die? (true/false) logAdminCommands -> Should administrative commands be logged to the console/server log? (true/false) mobGriefing -> Should mobs be allowed to grief the world? For example, zombies breaking doors, endermen picking up blocks or creepers exploding. (true/false) naturalRegeneration -> Should the health of players naturally (excludes potions, golden apples, etc.) regenerate over time? Players need sufficient food for this to work. (true/false) randomTickSpeed -> How often block ticks occur. Block ticks include redstone, plant growth/decay, etc. Higher values result in higher speeds, making the speed of redstone, growth and decay faster. (positive integer) reducedDebugInfo -> Should less info be shown on the debug display (F3)? Setting to false will also hide entity hitboxes (F3+B) and chunk boundaries (F3+G) if the user has them enabled. (true/false) sendCommandFeedback -> Should feedback from vanilla commands be shown? For example, if you do /summon Creeper ~ ~ ~ with sendCommandFeedback set to false, the creeper will spawn but you will not get a message. (true/false) showDeathMessages -> Should death messages be shown in the chat? (true/false)
1.9 and higher:
disableElytraMovementCheck -> Should the built-in Minecraft speed check be disabled for users wearing an elytra? NOTE: This can allow people to use an elytra to cheat using an elytra extra-flight hack. (true/false) spawnRadius -> How far out from the set world spawn should players spawn when first joining or when dying without a personal spawn point (set by placing a bed and sleeping in it)? (positive integer) spectatorsGenerateChunks -> Can players who are in spectate mode generate chunks when travelling around the world? (true/false)
1.10 does not add any new gamerules.
1.11 and higher:
doWeatherCycle -> Will the weather change naturally? (true/false) maxEntityCramming -> The maximum amount of entities that can be "pushed" in a small area before players take 3 HP suffocation damage per half-second. (positive integer)
1.12 and higher:
announceAdvancements -> Should an announcement be made to the server when someone achieves an advancement? (true/false) [NOTE: For pre-1.12 versions, you can change this in the server.properties file] doLimitedCrafting -> Should players only be able to craft recipes they have unlocked? (true/false) maxCommandChainLength -> Determines the value where the chain command block acts as a chain. (positive integer)