diff --git a/data/clienttextures/fontlucida.png b/share/client/textures/fontlucida.png similarity index 100% rename from data/clienttextures/fontlucida.png rename to share/client/textures/fontlucida.png diff --git a/data/clienttextures/menubg.png b/share/client/textures/menubg.png similarity index 100% rename from data/clienttextures/menubg.png rename to share/client/textures/menubg.png diff --git a/data/clienttextures/menulogo.png b/share/client/textures/menulogo.png similarity index 100% rename from data/clienttextures/menulogo.png rename to share/client/textures/menulogo.png diff --git a/data/clienttextures/smoke_puff.png b/share/client/textures/smoke_puff.png similarity index 100% rename from data/clienttextures/smoke_puff.png rename to share/client/textures/smoke_puff.png diff --git a/data/clienttextures/unknown_block.png b/share/client/textures/unknown_block.png similarity index 100% rename from data/clienttextures/unknown_block.png rename to share/client/textures/unknown_block.png diff --git a/data/clienttextures/unknown_item.png b/share/client/textures/unknown_item.png similarity index 100% rename from data/clienttextures/unknown_item.png rename to share/client/textures/unknown_item.png diff --git a/data/clienttextures/unknown_object.png b/share/client/textures/unknown_object.png similarity index 100% rename from data/clienttextures/unknown_object.png rename to share/client/textures/unknown_object.png diff --git a/data/builtin.lua b/share/server/builtin.lua similarity index 100% rename from data/builtin.lua rename to share/server/builtin.lua diff --git a/data/mods/bucket/depends.txt b/share/server/games/mesetint/mods/bucket/depends.txt similarity index 100% rename from data/mods/bucket/depends.txt rename to share/server/games/mesetint/mods/bucket/depends.txt diff --git a/data/mods/bucket/init.lua b/share/server/games/mesetint/mods/bucket/init.lua similarity index 100% rename from data/mods/bucket/init.lua rename to share/server/games/mesetint/mods/bucket/init.lua diff --git a/data/mods/bucket/textures/bucket.png b/share/server/games/mesetint/mods/bucket/textures/bucket.png similarity index 100% rename from data/mods/bucket/textures/bucket.png rename to share/server/games/mesetint/mods/bucket/textures/bucket.png diff --git a/data/mods/bucket/textures/bucket_lava.png b/share/server/games/mesetint/mods/bucket/textures/bucket_lava.png similarity index 100% rename from data/mods/bucket/textures/bucket_lava.png rename to share/server/games/mesetint/mods/bucket/textures/bucket_lava.png diff --git a/data/mods/bucket/textures/bucket_water.png b/share/server/games/mesetint/mods/bucket/textures/bucket_water.png similarity index 100% rename from data/mods/bucket/textures/bucket_water.png rename to share/server/games/mesetint/mods/bucket/textures/bucket_water.png diff --git a/data/mods/default/init.lua b/share/server/games/mesetint/mods/default/init.lua similarity index 100% rename from data/mods/default/init.lua rename to share/server/games/mesetint/mods/default/init.lua diff --git a/data/mods/default/textures/crack.png b/share/server/games/mesetint/mods/default/textures/crack.png similarity index 100% rename from data/mods/default/textures/crack.png rename to share/server/games/mesetint/mods/default/textures/crack.png diff --git a/data/mods/default/textures/default_apple.png b/share/server/games/mesetint/mods/default/textures/default_apple.png similarity index 100% rename from data/mods/default/textures/default_apple.png rename to share/server/games/mesetint/mods/default/textures/default_apple.png diff --git a/data/mods/default/textures/default_book.png b/share/server/games/mesetint/mods/default/textures/default_book.png similarity index 100% rename from data/mods/default/textures/default_book.png rename to share/server/games/mesetint/mods/default/textures/default_book.png diff --git a/data/mods/default/textures/default_bookshelf.png b/share/server/games/mesetint/mods/default/textures/default_bookshelf.png similarity index 100% rename from data/mods/default/textures/default_bookshelf.png rename to share/server/games/mesetint/mods/default/textures/default_bookshelf.png diff --git a/data/mods/default/textures/default_brick.png b/share/server/games/mesetint/mods/default/textures/default_brick.png similarity index 100% rename from data/mods/default/textures/default_brick.png rename to share/server/games/mesetint/mods/default/textures/default_brick.png diff --git a/data/mods/default/textures/default_cactus_side.png b/share/server/games/mesetint/mods/default/textures/default_cactus_side.png similarity index 100% rename from data/mods/default/textures/default_cactus_side.png rename to share/server/games/mesetint/mods/default/textures/default_cactus_side.png diff --git a/data/mods/default/textures/default_cactus_top.png b/share/server/games/mesetint/mods/default/textures/default_cactus_top.png similarity index 100% rename from data/mods/default/textures/default_cactus_top.png rename to share/server/games/mesetint/mods/default/textures/default_cactus_top.png diff --git a/data/mods/default/textures/default_chest_front.png b/share/server/games/mesetint/mods/default/textures/default_chest_front.png similarity index 100% rename from data/mods/default/textures/default_chest_front.png rename to share/server/games/mesetint/mods/default/textures/default_chest_front.png diff --git a/data/mods/default/textures/default_chest_lock.png b/share/server/games/mesetint/mods/default/textures/default_chest_lock.png similarity index 100% rename from data/mods/default/textures/default_chest_lock.png rename to share/server/games/mesetint/mods/default/textures/default_chest_lock.png diff --git a/data/mods/default/textures/default_chest_side.png b/share/server/games/mesetint/mods/default/textures/default_chest_side.png similarity index 100% rename from data/mods/default/textures/default_chest_side.png rename to share/server/games/mesetint/mods/default/textures/default_chest_side.png diff --git a/data/mods/default/textures/default_chest_top.png b/share/server/games/mesetint/mods/default/textures/default_chest_top.png similarity index 100% rename from data/mods/default/textures/default_chest_top.png rename to share/server/games/mesetint/mods/default/textures/default_chest_top.png diff --git a/data/mods/default/textures/default_clay.png b/share/server/games/mesetint/mods/default/textures/default_clay.png similarity index 100% rename from data/mods/default/textures/default_clay.png rename to share/server/games/mesetint/mods/default/textures/default_clay.png diff --git a/data/mods/default/textures/default_clay_brick.png b/share/server/games/mesetint/mods/default/textures/default_clay_brick.png similarity index 100% rename from data/mods/default/textures/default_clay_brick.png rename to share/server/games/mesetint/mods/default/textures/default_clay_brick.png diff --git a/data/mods/default/textures/default_clay_lump.png b/share/server/games/mesetint/mods/default/textures/default_clay_lump.png similarity index 100% rename from data/mods/default/textures/default_clay_lump.png rename to share/server/games/mesetint/mods/default/textures/default_clay_lump.png diff --git a/data/mods/default/textures/default_cloud.png b/share/server/games/mesetint/mods/default/textures/default_cloud.png similarity index 100% rename from data/mods/default/textures/default_cloud.png rename to share/server/games/mesetint/mods/default/textures/default_cloud.png diff --git a/data/mods/default/textures/default_coal_lump.png b/share/server/games/mesetint/mods/default/textures/default_coal_lump.png similarity index 100% rename from data/mods/default/textures/default_coal_lump.png rename to share/server/games/mesetint/mods/default/textures/default_coal_lump.png diff --git a/data/mods/default/textures/default_cobble.png b/share/server/games/mesetint/mods/default/textures/default_cobble.png similarity index 100% rename from data/mods/default/textures/default_cobble.png rename to share/server/games/mesetint/mods/default/textures/default_cobble.png diff --git a/data/mods/default/textures/default_dirt.png b/share/server/games/mesetint/mods/default/textures/default_dirt.png similarity index 100% rename from data/mods/default/textures/default_dirt.png rename to share/server/games/mesetint/mods/default/textures/default_dirt.png diff --git a/data/mods/default/textures/default_fence.png b/share/server/games/mesetint/mods/default/textures/default_fence.png similarity index 100% rename from data/mods/default/textures/default_fence.png rename to share/server/games/mesetint/mods/default/textures/default_fence.png diff --git a/data/mods/default/textures/default_furnace_front.png b/share/server/games/mesetint/mods/default/textures/default_furnace_front.png similarity index 100% rename from data/mods/default/textures/default_furnace_front.png rename to share/server/games/mesetint/mods/default/textures/default_furnace_front.png diff --git a/data/mods/default/textures/default_furnace_side.png b/share/server/games/mesetint/mods/default/textures/default_furnace_side.png similarity index 100% rename from data/mods/default/textures/default_furnace_side.png rename to share/server/games/mesetint/mods/default/textures/default_furnace_side.png diff --git a/data/mods/default/textures/default_glass.png b/share/server/games/mesetint/mods/default/textures/default_glass.png similarity index 100% rename from data/mods/default/textures/default_glass.png rename to share/server/games/mesetint/mods/default/textures/default_glass.png diff --git a/data/mods/default/textures/default_grass.png b/share/server/games/mesetint/mods/default/textures/default_grass.png similarity index 100% rename from data/mods/default/textures/default_grass.png rename to share/server/games/mesetint/mods/default/textures/default_grass.png diff --git a/data/mods/default/textures/default_grass_footsteps.png b/share/server/games/mesetint/mods/default/textures/default_grass_footsteps.png similarity index 100% rename from data/mods/default/textures/default_grass_footsteps.png rename to share/server/games/mesetint/mods/default/textures/default_grass_footsteps.png diff --git a/data/mods/default/textures/default_grass_side.png b/share/server/games/mesetint/mods/default/textures/default_grass_side.png similarity index 100% rename from data/mods/default/textures/default_grass_side.png rename to share/server/games/mesetint/mods/default/textures/default_grass_side.png diff --git a/data/mods/default/textures/default_gravel.png b/share/server/games/mesetint/mods/default/textures/default_gravel.png similarity index 100% rename from data/mods/default/textures/default_gravel.png rename to share/server/games/mesetint/mods/default/textures/default_gravel.png diff --git a/data/mods/default/textures/default_iron_lump.png b/share/server/games/mesetint/mods/default/textures/default_iron_lump.png similarity index 100% rename from data/mods/default/textures/default_iron_lump.png rename to share/server/games/mesetint/mods/default/textures/default_iron_lump.png diff --git a/data/mods/default/textures/default_junglegrass.png b/share/server/games/mesetint/mods/default/textures/default_junglegrass.png similarity index 100% rename from data/mods/default/textures/default_junglegrass.png rename to share/server/games/mesetint/mods/default/textures/default_junglegrass.png diff --git a/data/mods/default/textures/default_jungletree.png b/share/server/games/mesetint/mods/default/textures/default_jungletree.png similarity index 100% rename from data/mods/default/textures/default_jungletree.png rename to share/server/games/mesetint/mods/default/textures/default_jungletree.png diff --git a/data/mods/default/textures/default_jungletree_top.png b/share/server/games/mesetint/mods/default/textures/default_jungletree_top.png similarity index 100% rename from data/mods/default/textures/default_jungletree_top.png rename to share/server/games/mesetint/mods/default/textures/default_jungletree_top.png diff --git a/data/mods/default/textures/default_ladder.png b/share/server/games/mesetint/mods/default/textures/default_ladder.png similarity index 100% rename from data/mods/default/textures/default_ladder.png rename to share/server/games/mesetint/mods/default/textures/default_ladder.png diff --git a/data/mods/default/textures/default_lava.png b/share/server/games/mesetint/mods/default/textures/default_lava.png similarity index 100% rename from data/mods/default/textures/default_lava.png rename to share/server/games/mesetint/mods/default/textures/default_lava.png diff --git a/data/mods/default/textures/default_leaves.png b/share/server/games/mesetint/mods/default/textures/default_leaves.png similarity index 100% rename from data/mods/default/textures/default_leaves.png rename to share/server/games/mesetint/mods/default/textures/default_leaves.png diff --git a/data/mods/default/textures/default_mese.png b/share/server/games/mesetint/mods/default/textures/default_mese.png similarity index 100% rename from data/mods/default/textures/default_mese.png rename to share/server/games/mesetint/mods/default/textures/default_mese.png diff --git a/data/mods/default/textures/default_mineral_coal.png b/share/server/games/mesetint/mods/default/textures/default_mineral_coal.png similarity index 100% rename from data/mods/default/textures/default_mineral_coal.png rename to share/server/games/mesetint/mods/default/textures/default_mineral_coal.png diff --git a/data/mods/default/textures/default_mineral_iron.png b/share/server/games/mesetint/mods/default/textures/default_mineral_iron.png similarity index 100% rename from data/mods/default/textures/default_mineral_iron.png rename to share/server/games/mesetint/mods/default/textures/default_mineral_iron.png diff --git a/data/mods/default/textures/default_mossycobble.png b/share/server/games/mesetint/mods/default/textures/default_mossycobble.png similarity index 100% rename from data/mods/default/textures/default_mossycobble.png rename to share/server/games/mesetint/mods/default/textures/default_mossycobble.png diff --git a/data/mods/default/textures/default_nc_back.png b/share/server/games/mesetint/mods/default/textures/default_nc_back.png similarity index 100% rename from data/mods/default/textures/default_nc_back.png rename to share/server/games/mesetint/mods/default/textures/default_nc_back.png diff --git a/data/mods/default/textures/default_nc_front.png b/share/server/games/mesetint/mods/default/textures/default_nc_front.png similarity index 100% rename from data/mods/default/textures/default_nc_front.png rename to share/server/games/mesetint/mods/default/textures/default_nc_front.png diff --git a/data/mods/default/textures/default_nc_rb.png b/share/server/games/mesetint/mods/default/textures/default_nc_rb.png similarity index 100% rename from data/mods/default/textures/default_nc_rb.png rename to share/server/games/mesetint/mods/default/textures/default_nc_rb.png diff --git a/data/mods/default/textures/default_nc_side.png b/share/server/games/mesetint/mods/default/textures/default_nc_side.png similarity index 100% rename from data/mods/default/textures/default_nc_side.png rename to share/server/games/mesetint/mods/default/textures/default_nc_side.png diff --git a/data/mods/default/textures/default_paper.png b/share/server/games/mesetint/mods/default/textures/default_paper.png similarity index 100% rename from data/mods/default/textures/default_paper.png rename to share/server/games/mesetint/mods/default/textures/default_paper.png diff --git a/data/mods/default/textures/default_papyrus.png b/share/server/games/mesetint/mods/default/textures/default_papyrus.png similarity index 100% rename from data/mods/default/textures/default_papyrus.png rename to share/server/games/mesetint/mods/default/textures/default_papyrus.png diff --git a/data/mods/default/textures/default_rail.png b/share/server/games/mesetint/mods/default/textures/default_rail.png similarity index 100% rename from data/mods/default/textures/default_rail.png rename to share/server/games/mesetint/mods/default/textures/default_rail.png diff --git a/data/mods/default/textures/default_rail_crossing.png b/share/server/games/mesetint/mods/default/textures/default_rail_crossing.png similarity index 100% rename from data/mods/default/textures/default_rail_crossing.png rename to share/server/games/mesetint/mods/default/textures/default_rail_crossing.png diff --git a/data/mods/default/textures/default_rail_curved.png b/share/server/games/mesetint/mods/default/textures/default_rail_curved.png similarity index 100% rename from data/mods/default/textures/default_rail_curved.png rename to share/server/games/mesetint/mods/default/textures/default_rail_curved.png diff --git a/data/mods/default/textures/default_rail_t_junction.png b/share/server/games/mesetint/mods/default/textures/default_rail_t_junction.png similarity index 100% rename from data/mods/default/textures/default_rail_t_junction.png rename to share/server/games/mesetint/mods/default/textures/default_rail_t_junction.png diff --git a/data/mods/default/textures/default_sand.png b/share/server/games/mesetint/mods/default/textures/default_sand.png similarity index 100% rename from data/mods/default/textures/default_sand.png rename to share/server/games/mesetint/mods/default/textures/default_sand.png diff --git a/data/mods/default/textures/default_sandstone.png b/share/server/games/mesetint/mods/default/textures/default_sandstone.png similarity index 100% rename from data/mods/default/textures/default_sandstone.png rename to share/server/games/mesetint/mods/default/textures/default_sandstone.png diff --git a/data/mods/default/textures/default_sapling.png b/share/server/games/mesetint/mods/default/textures/default_sapling.png similarity index 100% rename from data/mods/default/textures/default_sapling.png rename to share/server/games/mesetint/mods/default/textures/default_sapling.png diff --git a/data/mods/default/textures/default_scorched_stuff.png b/share/server/games/mesetint/mods/default/textures/default_scorched_stuff.png similarity index 100% rename from data/mods/default/textures/default_scorched_stuff.png rename to share/server/games/mesetint/mods/default/textures/default_scorched_stuff.png diff --git a/data/mods/default/textures/default_sign.png b/share/server/games/mesetint/mods/default/textures/default_sign.png similarity index 100% rename from data/mods/default/textures/default_sign.png rename to share/server/games/mesetint/mods/default/textures/default_sign.png diff --git a/data/mods/default/textures/default_sign_back.png b/share/server/games/mesetint/mods/default/textures/default_sign_back.png similarity index 100% rename from data/mods/default/textures/default_sign_back.png rename to share/server/games/mesetint/mods/default/textures/default_sign_back.png diff --git a/data/mods/default/textures/default_sign_wall.png b/share/server/games/mesetint/mods/default/textures/default_sign_wall.png similarity index 100% rename from data/mods/default/textures/default_sign_wall.png rename to share/server/games/mesetint/mods/default/textures/default_sign_wall.png diff --git a/data/mods/default/textures/default_steel_block.png b/share/server/games/mesetint/mods/default/textures/default_steel_block.png similarity index 100% rename from data/mods/default/textures/default_steel_block.png rename to share/server/games/mesetint/mods/default/textures/default_steel_block.png diff --git a/data/mods/default/textures/default_steel_ingot.png b/share/server/games/mesetint/mods/default/textures/default_steel_ingot.png similarity index 100% rename from data/mods/default/textures/default_steel_ingot.png rename to share/server/games/mesetint/mods/default/textures/default_steel_ingot.png diff --git a/data/mods/default/textures/default_stick.png b/share/server/games/mesetint/mods/default/textures/default_stick.png similarity index 100% rename from data/mods/default/textures/default_stick.png rename to share/server/games/mesetint/mods/default/textures/default_stick.png diff --git a/data/mods/default/textures/default_stone.png b/share/server/games/mesetint/mods/default/textures/default_stone.png similarity index 100% rename from data/mods/default/textures/default_stone.png rename to share/server/games/mesetint/mods/default/textures/default_stone.png diff --git a/data/mods/default/textures/default_tnt_bottom.png b/share/server/games/mesetint/mods/default/textures/default_tnt_bottom.png similarity index 100% rename from data/mods/default/textures/default_tnt_bottom.png rename to share/server/games/mesetint/mods/default/textures/default_tnt_bottom.png diff --git a/data/mods/default/textures/default_tnt_side.png b/share/server/games/mesetint/mods/default/textures/default_tnt_side.png similarity index 100% rename from data/mods/default/textures/default_tnt_side.png rename to share/server/games/mesetint/mods/default/textures/default_tnt_side.png diff --git a/data/mods/default/textures/default_tnt_top.png b/share/server/games/mesetint/mods/default/textures/default_tnt_top.png similarity index 100% rename from data/mods/default/textures/default_tnt_top.png rename to share/server/games/mesetint/mods/default/textures/default_tnt_top.png diff --git a/data/mods/default/textures/default_tool_mesepick.png b/share/server/games/mesetint/mods/default/textures/default_tool_mesepick.png similarity index 100% rename from data/mods/default/textures/default_tool_mesepick.png rename to share/server/games/mesetint/mods/default/textures/default_tool_mesepick.png diff --git a/data/mods/default/textures/default_tool_steelaxe.png b/share/server/games/mesetint/mods/default/textures/default_tool_steelaxe.png similarity index 100% rename from data/mods/default/textures/default_tool_steelaxe.png rename to share/server/games/mesetint/mods/default/textures/default_tool_steelaxe.png diff --git a/data/mods/default/textures/default_tool_steelpick.png b/share/server/games/mesetint/mods/default/textures/default_tool_steelpick.png similarity index 100% rename from data/mods/default/textures/default_tool_steelpick.png rename to share/server/games/mesetint/mods/default/textures/default_tool_steelpick.png diff --git a/data/mods/default/textures/default_tool_steelshovel.png b/share/server/games/mesetint/mods/default/textures/default_tool_steelshovel.png similarity index 100% rename from data/mods/default/textures/default_tool_steelshovel.png rename to share/server/games/mesetint/mods/default/textures/default_tool_steelshovel.png diff --git a/data/mods/default/textures/default_tool_steelsword.png b/share/server/games/mesetint/mods/default/textures/default_tool_steelsword.png similarity index 100% rename from data/mods/default/textures/default_tool_steelsword.png rename to share/server/games/mesetint/mods/default/textures/default_tool_steelsword.png diff --git a/data/mods/default/textures/default_tool_stoneaxe.png b/share/server/games/mesetint/mods/default/textures/default_tool_stoneaxe.png similarity index 100% rename from data/mods/default/textures/default_tool_stoneaxe.png rename to share/server/games/mesetint/mods/default/textures/default_tool_stoneaxe.png diff --git a/data/mods/default/textures/default_tool_stonepick.png b/share/server/games/mesetint/mods/default/textures/default_tool_stonepick.png similarity index 100% rename from data/mods/default/textures/default_tool_stonepick.png rename to share/server/games/mesetint/mods/default/textures/default_tool_stonepick.png diff --git a/data/mods/default/textures/default_tool_stoneshovel.png b/share/server/games/mesetint/mods/default/textures/default_tool_stoneshovel.png similarity index 100% rename from data/mods/default/textures/default_tool_stoneshovel.png rename to share/server/games/mesetint/mods/default/textures/default_tool_stoneshovel.png diff --git a/data/mods/default/textures/default_tool_stonesword.png b/share/server/games/mesetint/mods/default/textures/default_tool_stonesword.png similarity index 100% rename from data/mods/default/textures/default_tool_stonesword.png rename to share/server/games/mesetint/mods/default/textures/default_tool_stonesword.png diff --git a/data/mods/default/textures/default_tool_woodaxe.png b/share/server/games/mesetint/mods/default/textures/default_tool_woodaxe.png similarity index 100% rename from data/mods/default/textures/default_tool_woodaxe.png rename to share/server/games/mesetint/mods/default/textures/default_tool_woodaxe.png diff --git a/data/mods/default/textures/default_tool_woodpick.png b/share/server/games/mesetint/mods/default/textures/default_tool_woodpick.png similarity index 100% rename from data/mods/default/textures/default_tool_woodpick.png rename to share/server/games/mesetint/mods/default/textures/default_tool_woodpick.png diff --git a/data/mods/default/textures/default_tool_woodshovel.png b/share/server/games/mesetint/mods/default/textures/default_tool_woodshovel.png similarity index 100% rename from data/mods/default/textures/default_tool_woodshovel.png rename to share/server/games/mesetint/mods/default/textures/default_tool_woodshovel.png diff --git a/data/mods/default/textures/default_tool_woodsword.png b/share/server/games/mesetint/mods/default/textures/default_tool_woodsword.png similarity index 100% rename from data/mods/default/textures/default_tool_woodsword.png rename to share/server/games/mesetint/mods/default/textures/default_tool_woodsword.png diff --git a/data/mods/default/textures/default_torch.png b/share/server/games/mesetint/mods/default/textures/default_torch.png similarity index 100% rename from data/mods/default/textures/default_torch.png rename to share/server/games/mesetint/mods/default/textures/default_torch.png diff --git a/data/mods/default/textures/default_torch_on_ceiling.png b/share/server/games/mesetint/mods/default/textures/default_torch_on_ceiling.png similarity index 100% rename from data/mods/default/textures/default_torch_on_ceiling.png rename to share/server/games/mesetint/mods/default/textures/default_torch_on_ceiling.png diff --git a/data/mods/default/textures/default_torch_on_floor.png b/share/server/games/mesetint/mods/default/textures/default_torch_on_floor.png similarity index 100% rename from data/mods/default/textures/default_torch_on_floor.png rename to share/server/games/mesetint/mods/default/textures/default_torch_on_floor.png diff --git a/data/mods/default/textures/default_tree.png b/share/server/games/mesetint/mods/default/textures/default_tree.png similarity index 100% rename from data/mods/default/textures/default_tree.png rename to share/server/games/mesetint/mods/default/textures/default_tree.png diff --git a/data/mods/default/textures/default_tree_top.png b/share/server/games/mesetint/mods/default/textures/default_tree_top.png similarity index 100% rename from data/mods/default/textures/default_tree_top.png rename to share/server/games/mesetint/mods/default/textures/default_tree_top.png diff --git a/data/mods/default/textures/default_water.png b/share/server/games/mesetint/mods/default/textures/default_water.png similarity index 100% rename from data/mods/default/textures/default_water.png rename to share/server/games/mesetint/mods/default/textures/default_water.png diff --git a/data/mods/default/textures/default_wood.png b/share/server/games/mesetint/mods/default/textures/default_wood.png similarity index 100% rename from data/mods/default/textures/default_wood.png rename to share/server/games/mesetint/mods/default/textures/default_wood.png diff --git a/data/mods/default/textures/heart.png b/share/server/games/mesetint/mods/default/textures/heart.png similarity index 100% rename from data/mods/default/textures/heart.png rename to share/server/games/mesetint/mods/default/textures/heart.png diff --git a/data/mods/default/textures/player.png b/share/server/games/mesetint/mods/default/textures/player.png similarity index 100% rename from data/mods/default/textures/player.png rename to share/server/games/mesetint/mods/default/textures/player.png diff --git a/data/mods/default/textures/player_back.png b/share/server/games/mesetint/mods/default/textures/player_back.png similarity index 100% rename from data/mods/default/textures/player_back.png rename to share/server/games/mesetint/mods/default/textures/player_back.png diff --git a/data/mods/default/textures/skybox1.png b/share/server/games/mesetint/mods/default/textures/skybox1.png similarity index 100% rename from data/mods/default/textures/skybox1.png rename to share/server/games/mesetint/mods/default/textures/skybox1.png diff --git a/data/mods/default/textures/skybox1_dawn.png b/share/server/games/mesetint/mods/default/textures/skybox1_dawn.png similarity index 100% rename from data/mods/default/textures/skybox1_dawn.png rename to share/server/games/mesetint/mods/default/textures/skybox1_dawn.png diff --git a/data/mods/default/textures/skybox1_night.png b/share/server/games/mesetint/mods/default/textures/skybox1_night.png similarity index 100% rename from data/mods/default/textures/skybox1_night.png rename to share/server/games/mesetint/mods/default/textures/skybox1_night.png diff --git a/data/mods/default/textures/skybox2.png b/share/server/games/mesetint/mods/default/textures/skybox2.png similarity index 100% rename from data/mods/default/textures/skybox2.png rename to share/server/games/mesetint/mods/default/textures/skybox2.png diff --git a/data/mods/default/textures/skybox2_dawn.png b/share/server/games/mesetint/mods/default/textures/skybox2_dawn.png similarity index 100% rename from data/mods/default/textures/skybox2_dawn.png rename to share/server/games/mesetint/mods/default/textures/skybox2_dawn.png diff --git a/data/mods/default/textures/skybox2_night.png b/share/server/games/mesetint/mods/default/textures/skybox2_night.png similarity index 100% rename from data/mods/default/textures/skybox2_night.png rename to share/server/games/mesetint/mods/default/textures/skybox2_night.png diff --git a/data/mods/default/textures/skybox3.png b/share/server/games/mesetint/mods/default/textures/skybox3.png similarity index 100% rename from data/mods/default/textures/skybox3.png rename to share/server/games/mesetint/mods/default/textures/skybox3.png diff --git a/data/mods/default/textures/skybox3_dawn.png b/share/server/games/mesetint/mods/default/textures/skybox3_dawn.png similarity index 100% rename from data/mods/default/textures/skybox3_dawn.png rename to share/server/games/mesetint/mods/default/textures/skybox3_dawn.png diff --git a/data/mods/default/textures/skybox3_night.png b/share/server/games/mesetint/mods/default/textures/skybox3_night.png similarity index 100% rename from data/mods/default/textures/skybox3_night.png rename to share/server/games/mesetint/mods/default/textures/skybox3_night.png diff --git a/data/mods/default/textures/treeprop.png b/share/server/games/mesetint/mods/default/textures/treeprop.png similarity index 100% rename from data/mods/default/textures/treeprop.png rename to share/server/games/mesetint/mods/default/textures/treeprop.png diff --git a/data/mods/default/textures/wieldhand.png b/share/server/games/mesetint/mods/default/textures/wieldhand.png similarity index 100% rename from data/mods/default/textures/wieldhand.png rename to share/server/games/mesetint/mods/default/textures/wieldhand.png diff --git a/data/mods/experimental/depends.txt b/share/server/games/mesetint/mods/experimental/depends.txt similarity index 100% rename from data/mods/experimental/depends.txt rename to share/server/games/mesetint/mods/experimental/depends.txt diff --git a/data/mods/experimental/init.lua b/share/server/games/mesetint/mods/experimental/init.lua similarity index 100% rename from data/mods/experimental/init.lua rename to share/server/games/mesetint/mods/experimental/init.lua diff --git a/data/mods/experimental/textures/experimental_dummyball.png b/share/server/games/mesetint/mods/experimental/textures/experimental_dummyball.png similarity index 100% rename from data/mods/experimental/textures/experimental_dummyball.png rename to share/server/games/mesetint/mods/experimental/textures/experimental_dummyball.png diff --git a/data/mods/give_initial_stuff/depends.txt b/share/server/games/mesetint/mods/give_initial_stuff/depends.txt similarity index 100% rename from data/mods/give_initial_stuff/depends.txt rename to share/server/games/mesetint/mods/give_initial_stuff/depends.txt diff --git a/data/mods/give_initial_stuff/init.lua b/share/server/games/mesetint/mods/give_initial_stuff/init.lua similarity index 100% rename from data/mods/give_initial_stuff/init.lua rename to share/server/games/mesetint/mods/give_initial_stuff/init.lua diff --git a/data/mods/legacy/depends.txt b/share/server/games/mesetint/mods/legacy/depends.txt similarity index 100% rename from data/mods/legacy/depends.txt rename to share/server/games/mesetint/mods/legacy/depends.txt diff --git a/data/mods/legacy/init.lua b/share/server/games/mesetint/mods/legacy/init.lua similarity index 100% rename from data/mods/legacy/init.lua rename to share/server/games/mesetint/mods/legacy/init.lua diff --git a/data/mods/legacy/textures/apple_iron.png b/share/server/games/mesetint/mods/legacy/textures/apple_iron.png similarity index 100% rename from data/mods/legacy/textures/apple_iron.png rename to share/server/games/mesetint/mods/legacy/textures/apple_iron.png diff --git a/data/mods/legacy/textures/cooked_rat.png b/share/server/games/mesetint/mods/legacy/textures/cooked_rat.png similarity index 100% rename from data/mods/legacy/textures/cooked_rat.png rename to share/server/games/mesetint/mods/legacy/textures/cooked_rat.png diff --git a/data/mods/legacy/textures/dungeon_master.png b/share/server/games/mesetint/mods/legacy/textures/dungeon_master.png similarity index 100% rename from data/mods/legacy/textures/dungeon_master.png rename to share/server/games/mesetint/mods/legacy/textures/dungeon_master.png diff --git a/data/mods/legacy/textures/fireball.png b/share/server/games/mesetint/mods/legacy/textures/fireball.png similarity index 100% rename from data/mods/legacy/textures/fireball.png rename to share/server/games/mesetint/mods/legacy/textures/fireball.png diff --git a/data/mods/legacy/textures/firefly.png b/share/server/games/mesetint/mods/legacy/textures/firefly.png similarity index 100% rename from data/mods/legacy/textures/firefly.png rename to share/server/games/mesetint/mods/legacy/textures/firefly.png diff --git a/data/mods/legacy/textures/oerkki1.png b/share/server/games/mesetint/mods/legacy/textures/oerkki1.png similarity index 100% rename from data/mods/legacy/textures/oerkki1.png rename to share/server/games/mesetint/mods/legacy/textures/oerkki1.png diff --git a/data/mods/legacy/textures/oerkki1_damaged.png b/share/server/games/mesetint/mods/legacy/textures/oerkki1_damaged.png similarity index 100% rename from data/mods/legacy/textures/oerkki1_damaged.png rename to share/server/games/mesetint/mods/legacy/textures/oerkki1_damaged.png diff --git a/data/mods/legacy/textures/rat.png b/share/server/games/mesetint/mods/legacy/textures/rat.png similarity index 100% rename from data/mods/legacy/textures/rat.png rename to share/server/games/mesetint/mods/legacy/textures/rat.png diff --git a/src/client.cpp b/src/client.cpp index bc303bc4b..72cd28b18 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -40,7 +40,7 @@ with this program; if not, write to the Free Software Foundation, Inc., static std::string getTextureCacheDir() { - return porting::path_userdata + DIR_DELIM + "cache" + DIR_DELIM + "texture"; + return porting::path_user + DIR_DELIM + "cache" + DIR_DELIM + "textures"; } struct TextureRequest diff --git a/src/game.cpp b/src/game.cpp index a69942e61..0d09e335e 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -726,7 +726,7 @@ void the_game( if(address == ""){ draw_load_screen(L"Creating server...", driver, font); infostream<<"Creating server"<start(port); } diff --git a/src/guiPauseMenu.cpp b/src/guiPauseMenu.cpp index 3cd572387..3b1861b3d 100644 --- a/src/guiPauseMenu.cpp +++ b/src/guiPauseMenu.cpp @@ -174,7 +174,7 @@ void GUIPauseMenu::regenerateGui(v2u32 screensize) SWPRINTF_CHARSTRING , BUILD_INFO, - porting::path_userdata.c_str() + porting::path_user.c_str() );*/ std::ostringstream os; @@ -182,7 +182,7 @@ void GUIPauseMenu::regenerateGui(v2u32 screensize) os<<"by Perttu Ahola and contributors\n"; os<<"celeron55@gmail.com\n"; os<addStaticText(narrow_to_wide(os.str()).c_str(), rect, false, true, this, 259); } diff --git a/src/main.cpp b/src/main.cpp index ec999c530..322d84e9e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1157,19 +1157,18 @@ int main(int argc, char *argv[]) porting::signal_handler_init(); bool &kill = *porting::signal_handler_killstatus(); - // Initialize porting::path_data and porting::path_userdata porting::initializePaths(); // Create user data directory - fs::CreateDir(porting::path_userdata); + fs::CreateDir(porting::path_user); - init_gettext((porting::path_data+DIR_DELIM+".."+DIR_DELIM+"locale").c_str()); + init_gettext((porting::path_share+DIR_DELIM+".."+DIR_DELIM+"locale").c_str()); // Initialize debug streams #ifdef RUN_IN_PLACE std::string debugfile = DEBUGFILE; #else - std::string debugfile = porting::path_userdata+DIR_DELIM+DEBUGFILE; + std::string debugfile = porting::path_user+DIR_DELIM+DEBUGFILE; #endif debugstreams_init(disable_stderr, debugfile.c_str()); // Initialize debug stacks @@ -1221,10 +1220,12 @@ int main(int argc, char *argv[]) else { core::array filenames; - filenames.push_back(porting::path_userdata + + filenames.push_back(porting::path_user + DIR_DELIM + "minetest.conf"); #ifdef RUN_IN_PLACE - filenames.push_back(porting::path_userdata + + // Try also from a lower level (to aid having the same configuration + // for many RUN_IN_PLACE installs) + filenames.push_back(porting::path_user + DIR_DELIM + ".." + DIR_DELIM + "minetest.conf"); #endif @@ -1278,11 +1279,22 @@ int main(int argc, char *argv[]) port = 30000; // Map directory - std::string map_dir = porting::path_userdata+DIR_DELIM+"world"; + std::string map_dir = porting::path_user + DIR_DELIM + "server" + DIR_DELIM + "worlds" + DIR_DELIM + "world"; if(cmd_args.exists("map-dir")) map_dir = cmd_args.get("map-dir"); else if(g_settings->exists("map-dir")) map_dir = g_settings->get("map-dir"); + else{ + // No map-dir option was specified. + // Check if the world is found from the default directory, and if + // not, see if the legacy world directory exists. + std::string legacy_map_dir = porting::path_user+DIR_DELIM+".."+DIR_DELIM+"world"; + if(!fs::PathExists(map_dir) && fs::PathExists(legacy_map_dir)){ + errorstream<<"Warning: Using legacy world directory \"" + <" len = GetEnvironmentVariable("APPDATA", buf, buflen); assert(len < buflen); - path_userdata = std::string(buf) + DIR_DELIM + PROJECT_NAME; + path_user = std::string(buf) + DIR_DELIM + PROJECT_NAME; /* Linux @@ -251,15 +244,15 @@ void initializePaths() pathRemoveFile(buf, '/'); - path_data = std::string(buf) + "/../share/" + PROJECT_NAME; - //path_data = std::string(INSTALL_PREFIX) + "/share/" + PROJECT_NAME; - if (!fs::PathExists(path_data)) { - dstream<<"WARNING: data path " << path_data << " not found!"; - path_data = std::string(buf) + "/../data"; - dstream<<" Trying " << path_data << std::endl; + path_share = std::string(buf) + "/../share/" + PROJECT_NAME; + //path_share = std::string(INSTALL_PREFIX) + "/share/" + PROJECT_NAME; + if (!fs::PathExists(path_share)) { + dstream<<"WARNING: data path " << path_share << " not found!"; + path_share = std::string(buf) + "/../data"; + dstream<<" Trying " << path_share << std::endl; } - path_userdata = std::string(getenv("HOME")) + "/." + PROJECT_NAME; + path_user = std::string(getenv("HOME")) + "/." + PROJECT_NAME; /* OS X @@ -276,7 +269,7 @@ void initializePaths() { dstream<<"Bundle resource path: "<" Mac: "~/Library/Application Support/" */ -extern std::string path_userdata; +extern std::string path_user; /* Get full path of stuff in data directory. @@ -76,7 +76,7 @@ extern std::string path_userdata; std::string getDataPath(const char *subpath); /* - Initialize path_data and path_userdata. + Initialize path_share and path_user. */ void initializePaths(); diff --git a/src/server.cpp b/src/server.cpp index 899624633..69f655e6a 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -843,13 +843,17 @@ u32 PIChecksum(core::list &l) */ Server::Server( - std::string mapsavedir, - std::string configpath + std::string path_world, + std::string path_config, + std::string gamename ): + m_gamename(gamename), + m_path_world(path_world), + m_path_config(path_config), m_env(NULL), m_con(PROTOCOL_ID, 512, CONNECTION_TIMEOUT, this), - m_authmanager(mapsavedir+DIR_DELIM+"auth.txt"), - m_banmanager(mapsavedir+DIR_DELIM+"ipban.txt"), + m_authmanager(path_world+DIR_DELIM+"auth.txt"), + m_banmanager(path_world+DIR_DELIM+"ipban.txt"), m_lua(NULL), m_itemdef(createItemDefManager()), m_nodedef(createNodeDefManager()), @@ -859,12 +863,15 @@ Server::Server( m_time_counter(0), m_time_of_day_send_timer(0), m_uptime(0), - m_mapsavedir(mapsavedir), - m_configpath(configpath), m_shutdown_requested(false), m_ignore_map_edit_events(false), m_ignore_map_edit_events_peer_id(0) { + infostream<<"Server created."<::const_iterator i = m_path_addons.begin(); + i != m_path_addons.end(); i++){ + m_modspaths.push_front((*i) + DIR_DELIM + "mods"); + } // Print out mod search paths - infostream<<"Mod search paths:"<::Iterator i = m_modspaths.begin(); i != m_modspaths.end(); i++){ std::string modspath = *i; infostream<<" "<getMap().addEventReceiver(this); // If file exists, load environment metadata - if(fs::PathExists(m_mapsavedir+DIR_DELIM+"env_meta.txt")) + if(fs::PathExists(m_path_world+DIR_DELIM+"env_meta.txt")) { infostream<<"Server: Loading environment metadata"<loadMeta(m_mapsavedir); + m_env->loadMeta(m_path_world); } // Load players infostream<<"Server: Loading players"<deSerializePlayers(m_mapsavedir); + m_env->deSerializePlayers(m_path_world); /* Add some test ActiveBlockModifiers to environment @@ -1002,13 +1017,13 @@ Server::~Server() Save players */ infostream<<"Server: Saving players"<serializePlayers(m_mapsavedir); + m_env->serializePlayers(m_path_world); /* Save environment metadata */ infostream<<"Server: Saving environment metadata"<saveMeta(m_mapsavedir); + m_env->saveMeta(m_path_world); } /* @@ -1065,7 +1080,7 @@ void Server::start(unsigned short port) m_thread.setRun(true); m_thread.Start(); - infostream<<"Server: Started on port "<getMap().save(MOD_STATE_WRITE_NEEDED); // Save players - m_env->serializePlayers(m_mapsavedir); + m_env->serializePlayers(m_path_world); // Save environment metadata - m_env->saveMeta(m_mapsavedir); + m_env->saveMeta(m_path_world); } } } @@ -4110,8 +4125,8 @@ void Server::setPlayerPassword(const std::string &name, const std::wstring &pass // Saves g_settings to configpath given at initialization void Server::saveConfig() { - if(m_configpath != "") - g_settings->updateConfigFile(m_configpath.c_str()); + if(m_path_config != "") + g_settings->updateConfigFile(m_path_config.c_str()); } void Server::notifyPlayer(const char *name, const std::wstring msg) diff --git a/src/server.h b/src/server.h index 04bd61a87..50cd5b285 100644 --- a/src/server.h +++ b/src/server.h @@ -392,6 +392,7 @@ public: */ Server( + std::string gamename, std::string mapsavedir, std::string configpath ); @@ -526,7 +527,7 @@ public: const ModSpec* getModSpec(const std::string &modname); - std::string getWorldPath(){ return m_mapsavedir; } + std::string getWorldPath(){ return m_path_world; } private: @@ -631,6 +632,21 @@ private: Variables */ + // Game name + std::string m_gamename; + // World directory + std::string m_path_world; + // Path to user's configuration file ("" = no configuration file) + std::string m_path_config; + + // Equivalent of /usr/share/minetest/server + std::string m_path_share; + // Equivalent of /usr/share/minetest/server/games/gamename + std::string m_path_game; + // Equivalent of /usr/share/minetest/server/addons/gamename + // and ~/.minetest/server/addons/gamename + std::set m_path_addons; + // Some timers float m_liquid_transform_timer; float m_print_info_timer; @@ -724,12 +740,6 @@ private: /* Random stuff */ - - // Map directory - std::string m_mapsavedir; - - // Configuration path ("" = no configuration file) - std::string m_configpath; // Mod parent directory paths core::list m_modspaths; diff --git a/src/servermain.cpp b/src/servermain.cpp index 4194faaaa..5eb5162ae 100644 --- a/src/servermain.cpp +++ b/src/servermain.cpp @@ -163,17 +163,16 @@ int main(int argc, char *argv[]) porting::signal_handler_init(); bool &kill = *porting::signal_handler_killstatus(); - // Initialize porting::path_data and porting::path_userdata porting::initializePaths(); // Create user data directory - fs::CreateDir(porting::path_userdata); + fs::CreateDir(porting::path_user); // Initialize debug streams #ifdef RUN_IN_PLACE std::string debugfile = DEBUGFILE; #else - std::string debugfile = porting::path_userdata+DIR_DELIM+DEBUGFILE; + std::string debugfile = porting::path_user+DIR_DELIM+DEBUGFILE; #endif debugstreams_init(disable_stderr, debugfile.c_str()); // Initialize debug stacks @@ -283,10 +282,12 @@ int main(int argc, char *argv[]) else { core::array filenames; - filenames.push_back(porting::path_userdata + + filenames.push_back(porting::path_user + DIR_DELIM + "minetest.conf"); #ifdef RUN_IN_PLACE - filenames.push_back(porting::path_userdata + + // Try also from a lower level (to aid having the same configuration + // for many RUN_IN_PLACE installs) + filenames.push_back(porting::path_user + DIR_DELIM + ".." + DIR_DELIM + "minetest.conf"); #endif @@ -334,28 +335,31 @@ int main(int argc, char *argv[]) // Port? u16 port = 30000; if(cmd_args.exists("port") && cmd_args.getU16("port") != 0) - { port = cmd_args.getU16("port"); - } else if(g_settings->exists("port") && g_settings->getU16("port") != 0) - { port = g_settings->getU16("port"); - } - else - { - dstream<<"Please specify port (in config or on command line)" - <exists("map-dir")) map_dir = g_settings->get("map-dir"); + else{ + // No map-dir option was specified. + // Check if the world is found from the default directory, and if + // not, see if the legacy world directory exists. + std::string legacy_map_dir = porting::path_user+DIR_DELIM+".."+DIR_DELIM+"world"; + if(!fs::PathExists(map_dir) && fs::PathExists(legacy_map_dir)){ + errorstream<<"Warning: Using legacy world directory \"" + <