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)
1.13 does not add any new gamerules.