D3

**D3** is a creative mode custom server originally coded by Dadido3, latest versions are coded by Umby24. The main engine is written in Purebasic and most of the commands are written in Lua Scripts. It is very modular.

**Current Version:** 1.011

**Publicly Released Version:** 1.011

**Note:** The newest versions of the server can be found at a separate website, and support is provided through IRC. You can find the link to this website at the bottom of this page.

## Initial Setup of v0.896

1. Extract the contents of the D3\_Server\_0896.zip into a new folder on your hard drive.
2. You will have 5 folders [Data, Heartbeat, Documentation, Lua, ZLib], 3 .exe files [Autostart, Minecraft-Server, Running\_Time.exe], Lua5.1.dll, Lua5.1.lib, and Autostart.txt.
3. To begin setting up your server name and MOTD head to the Data folder and open System.txt,changing them to your liking. Once done save the file.
4. To change what port the server is run on, head back to the Data folder and open Network.txt. Port 25565 is the default but you may change it, noting to save if you change the port.
5. To change whether your server is public or private, return to the directory where you keep the files and into the Heartbeat folder. Open Settings.txt from there to configure the public settings:
	* Public = 0 (private), 1 (public)
	* Version = 7
	* Console = 0
6. Next, starting the server. Return to the directory where you keep the files and start either Minecraft-server.exe or Autostart.exe. Autostart.exe will restart the server if it crashes while Minecraft-server.exe will not. You may get a popup from your firewall or AV, allow it. When you first startup the server, it will generate two new folders - Maps, which hold your servers maps, and Temp. To get your server's url head into the heartbeat folder and open externalurl.txt. You should now join your server.
7. Upon first joining the server, you will be ranked guest. To make yourself owner head to the Data folder where you keep the D3 files and open Playerlist.txt, Dadido3 will have Player Id: 0, and you should have Player Id: 1. Make sure to first shut down the server, then scroll to your name and change the following: Rank = 255 (32767 is the max). Start the server up again and rejoin, and you will now be the rank you set.

## Ranks

Ranks on D3 servers are assigned with points. A player's rank can vary from -32768 to 32767. Ranks vary from D3 server to D3 server but generally follow this structure.

### Frozen

Lowest possible rank (-32768). Players ranked at this number are unable to connect to the server at all after leaving.

### Griefer

Players who have griefed or continuously broken the rules (-1 to -32767). Unable to join most other maps or use any commands.

### Guest

Players who are new to the server. Can use a few commands and materials but are usually confined to the guest area/map.

### Builder

A player who has shown interest in the server and is able to enter most of the server's maps and able to build in the main build maps.

### Trusted Builder

Players who have shown a bit of build skill and dedication to the server. Unlocks various new build modes: box, hbox, sphere, hsphere, line, etc.

### Architect

Exemplary builders who have spent a fair amount of time on the server. Are able to use various new materials: kill materials, fans, doors, etc.

### Half-Op/Supervisor

Players who have shown potential as a staff member are tested at this rank. Able to stop players, and are given a light responsibility to be extra vigilant and helpful towards new players to the server.

### Operator

Operators are given the responsibility to watch new players, manage the lower ranks and promotions, and help keep order in the server. Are able to mute, kick, and ban at this rank.

### Admin

Admins manage OPs and keeps the server grief-free. Have earned the trust of the server owners and are able to copy/paste, and undo players' block actions.

### Head Admin-Co-Owner

Players who are appointed directly by the server owner. These players must upkeep the server and keep it in good condition. Are able to edit maps around these ranks and access to most or all commands.

### Owner

The owner of the server. Has access to every command.

## Features

* Lua scripting/plugins
* Multiworld with portals
* Threaded physic/blocksend queues
* Fully customizable ranks (color, name, etc.)
* Ability to set any commands at any rank
* Restricted zones for specific ranks
* Message blocks
* Advanced physics
	+ Finite Liquids
	+ Fire
	+ TNTS
	+ "Stacking" sand
	+ Fans
	+ Doors
	+ Rockets
	+ Fireworks
* Bot AI
* Map Generators
* Recorded block changes that can be undone
* Functional player database that stores:
	+ Unique player ID number
	+ Rank Number
	+ Last Used IP
	+ Login Counter
	+ On-time Counter
	+ Kick Counter

### Game Modes

#### Fallout

Fallout is the newest game mode to be introduced on D3 servers. Its played on an arena with 2\*2 yellow squares divided by lines of glass in a square lattice design. Fallout is best described as an 'automated spleef'. Two or more players enter an arena and a countdown is started. After the countdown, the 2\*2 yellow squares turn orange, then red, then disappear while also deleting adjacent glass blocks.

The objective of fallout is simply to stay on the arena for as long as one can. If a player falls into the bottom pit, they will be transported to the glass roof, their time will be displayed in seconds of how long they were able to survive, and they will be unable to rejoin until the game is ended. The last person in the arena is declared the winner and the arena resets for a new game to be played.

#### Cannon War

Cannon War is a game played with cannons and occasionally flamethrowers. Cannons are operated by standing on the TNT of a cannon and clicking the glass. The cannon will follow your head position so will be able to turn around and shoot a cannonball where you clicked the glass. The cannonballs from cannons create an approximate 5\*5 hole and will 'kill' a player if they are hit by it.

Two teams of red and blue are setup and a map is newly generated or a player-made submitted map is loaded up. The two teams prepare themselves by activating the cannons and a moderator or admin begins a countdown. When the game is started the two teams fire at each other until the game is ended and a winning team is declared. The criteria to select the winning team is either if one team is unable to fire back any more cannons due to them being all destroyed or which teams' base is less destroyed.

Cannon War can also be played as a free-for-all game where players simply shoot each other and have the satisfaction of simply blasting their friends away with a cannon.

#### Spleef

Spleef on D3 servers is able to be played differently than on other servers. With the ability to mapexport and mapimport, players are able to submit their own spleef maps to be played later. Some example submittions have included a laptop, farm, castle, and town square. Also thanks to the physics of sand and gravel, they can be frozen and activated again. This allows for sand and gravel traps hidden in the arenas. Lastly with the ability of dying on D3 servers, players are able to more easily keep track of who is spleefing and who has been spleefed.

## Block Types

#### Normal Blocks

* *air*
* *stone*
* *grass*
* *dirt*
* *cobblestone*
* *wood*
* *plant*
* *solid*
* *sand*
* *gravel*
* *goldore*
* *ironore*
* *coal*
* *tree*
* *leaves*
* *sponge*
* *glass*
* *red*
* *orange*
* *yellow*
* *light green'*
* *green*
* *aqua green*
* *cyan'*
* *light blue'*
* *blue*
* *purple*
* *light purple*
* *pink*
* *dark pink*
* *dark gray*
* *light gray*
* *white*
* *yellow flower*
* *red flower*
* *brown mushroom*
* *red mushroom*
* *gold*
* *ironblock*
* *doublestair*
* *stair*
* *brick*
* *tnt*
* *bookcase*
* *mossy cobblestone*
* *obsidian*

#### RP Mode Blocks

*The RP mode is mostly defunct with the release of Survival Multiplayer. Also note that these did not spawn the actual item but placed a block to represent that item, glass as diamond and tnt as crafting tables, for example.*

* *torch*
* *chest*
* *gear*
* *diamond ore*
* *diamond*
* *crafting table*
* *crops*
* *soil*
* *furnace*
* *burning furnace*

#### Physic Blocks

*Unique materials from the individual official D3 servers (Main, Themed, Dysgalt's Build) will be listed under those respective colors.*

##### Liquid Blocks

* *water* - Is infinite.
* *lava* - Is infinite.
* *still water*
* *still lava*
* *water source* - Spawns infinite water from the surrounding 3\*3\*3 area.
* *lava source* - Spawns infinite lava from the surrounding 3\*3\*3 area.
* *original water* - Water the spreads, or is infinite.
* *original lava* - Lava that spreads.
* *fast lava* - Lava that spreads at the speed of original water.
* *acid* - Kill version of water.
* *still acid*
* *kill lava* (no longer used as lava is set to instant-kill on v1.0003)
* *sea* - Spreads water at an extremely fast speed.
* *epic lava* - Spreads lava at an extremely fast speed.

##### Destructive/Explosive Blocks

* *fire'* - Fire is a material that bursts tree blocks, planks, and bookcases into bursts of lava blocks that destroys them and spreads in any direction there is wood. Ash is a byproduct block that is left from other materials being burnt, glass is the only material that won't burn.
* *admin tnt* - Considered an active version of tnt. When laid will explode in a fairly sized 9\*9\*9 chunk.
* *blob* - AI block, chases nearest player in a group or individually.
* *cannon* - Used in Cannon War
* *flamethrower* - Used in Cannon War
* *mine* - Walking within proximity of a mine will cause it to explode, killing the player and leaving a chunk of land.
* *hbomb* - Causes an explosion on the whole map.
* *nuke* - Similar to hbomb.

##### Dynamic Blocks

* *sand source* - Spawns sand.
* *snow*
* *spark*
* *rocket* - Fireworks material.
* *short spark*
* *red spark*
* *fire fountain* - Launches a perpetual volley of kill lava into the air.
* *ash* - Byproduct of blocks burned in fire.
* *fan*
* *door* - Functioned by placing obsidian to a horizontal side of the placed door material. The obsidian determines the height\*length; for example 5 obsidian blocks indicates a 5 wide by 5 tall door. Two blocks are chosen to represent what the door is made of and placed at the end of the obsidian, one being the frame, the other being the middle. A functional door is then spawned, red button means a closed door, green means an open door.
* *omnifan* - A fan that has two propellers that travel on x and y axises.
* *blob source* - Spawns blobs.
* *dirt dog* - A 'nicer' non-killing version of blobs.
* *large fan*
* *flat fan*
* *blinker* - Similar to flasher.
* *seaweed* - Grows leaves block in water.
* *mulch*
* *sprout*
* *crop* - Grows a stack of leaves.
* *spiral stair* - Creates a spiral staircase.
* *dtree* - Creates a standardized tree.
* *elevator*
* *flasher* - Flashes between two colors, similar to blinkers.
* *campfire* - A smaller version of fire fountains.
* *laser* - Shoots a stream of lava directly up and through any blocks.
* *ant* - A block which acts as Langton's ant developed by ylt.

##### Miscellaneous Blocks

* *black*
* *kill stone*
* *invisible*
* *still sand*
* *kill rose*
* *still gravel*
* *no entry* - A kill air material.
* *kill glass*
* *invisible sponge* - Has the same sponge properties as a drain sponge.
* *drain sponge* - Stronger version of a regular sponge.
* *super drain sponge* - Extremely strong version of a sponge.
* *still stair*
* *shield*

## Commands

*These commands are as of v0.975, the most recent version. Older versions may not have all of these commands. '\_' are considered spaces, not actual underscores.*

**A full listing of commands as of the latest version can be found here.**

### Build Modes

* **/paint:** Build mode where deleting blocks will change those blocks into the block held in the user's hand.

* **/line:** Creates a line between two specified points.

* **/box:** Creates a 2D plane or 3D square/rectangle specified between two points.
	+ \_<material> can be added to replace the specified material with the material/block in the user's hand.

* **/hbox:** Creates a hollow 3D square/rectangle specified between two points.
	+ \_<material> can be added to replace the specified material with the material/block in the user's hand.

* **/sphere:** Creates a 3D sphere specified between two points.
	+ \_<material> can be added to replace the specified material with the material/block in the user's hand.

* **/hsphere:** Creates a hollow 3D sphere specified between two points.
	+ \_<material> can be added to replace the specified material with the material/block in the user's hand.

* **/hollow:** Hollows out an area specified by two points by deleting all blocks that don't touch air or water.

* **/triangle:** creates a 2D triangle over 3 points
	+ \_<material> can be added to replace the specified material with the material/block in the users hand.

* **/htriangle:** Creates a 2D hollow triangle over 3 points
	+ \_<material> can be added to replace the specified material with the material/block in the users hand.

* **/circle:** Creates a 2D circle between 2 points
	+ \_<material> can be added to replace the specified material with the material/block in the users hand.

* **/hcircle:** Creates a hollow 2D circle over 2 points
	+ \_<material> can be added to replace the specified material with the material/block in the users hand.

* **/hyperbol:** Creates a random pattern of blocks that can elevate over a series of 4 points
	+ \_<material> can be added to replace the specified material with the material/block in the users hand.

* **/brush\_<radius>:** Creates a circle that wraps around blocks.

* **/dbrush\_<radius>:** Creates a mangled circle that wraps around blocks.

* **/center:** Finds the center between two points.

* **/measure:** Measures the block amount between two points.

* **/cancel:** Cancels build modes and various other commands(pget, rbox, tpbox, etc.)

### Map Tools

* **/mapinfo:** Displays various information of the map the user is in including: map ID, map filename, size, RAM usage(mapsize), map dimensions, build/join/show ranks, physic-queue, and blocksend-queue.

* **/mapsave:** Saves the current map the user is in.
	+ \_<mapname> can be used to save a copy of the map under a different name.

* **/mapload\_<mapname>:** Loads a map from the map folder into the map the user is in.

* **/mapresize\_<x>\_<y>\_<z>:** Resizes the map the user is in into the specified dimensions.

* **/maprename\_<mapname>:** Renames the map the user is in into the new specified name.

* **/mapfilerename\_<mapname>:** Renames the .map file of the map the user is in into the new specified name.

* **/mapdelete:** Deletes the map the user is in from the server. The .map is stored into the maps folder and can be loaded at a later time.

* **/mapadd\_<mapname>:** Adds a new map to the server under the specified name.

* **/mapfill\_<generator>:** Refills the map the user is in with a newly generated map.

* **/mapfills:** Displays a list of map generators which include but not limited to: standart(flatgrass), city, desert, normal(mountains), island, etc.

* **/mapbuildrank\_<rank>:** Changes the build rank of the map the user is in to the specified rank.

* **/mapjoinrank\_<rank>:** Changes the join rank of the map the user is in to the specified rank.

* **/mapshowrank\_<rank>:** Changes the show rank of the map the user is in to the specified rank. Players under this rank will not be shown the map when displayed to them by '/maps'.

### Administrative Tools

* **/stop\_<player>:** Freezes a player from building or deleting. Is permanent until /stop is used again on a stopped player.

* **/mute\_<player>\_<minutes>:** Mutes a player for the specified amount of minutes.

* **/setrank\_<player>\_<rank>:** Changes a players rank number to the specified rank

* **/mapexport\_<filename>:** Exports(copy) a part of the map specified between two points into a .map file stored in the usermaps folder.

* **/mapimport\_<filename>:** Imports(pastes) the specified usermap into the map in the positive coordinates(+x,+y,+z).

* **/undotime\_<seconds>:** Undoes the blockchanges on a map specified by the amount of seconds.

* **/undoplayer\_<player>\_<seconds>:** Undoes the blockchanges of a specific player on a map specified by the amount of seconds.

* **/setspawn:** Sets the spawn of a map.

* **/setkillspawn:** Sets the kill spawn of a map. Killed players will spawn here.

* **/rbox\_<rank>:** Creates a 'restricted box' that places a rank restriction in an area specified between two points. Players under the chosen rank are unable to build in the area.

* **/mbox\_<name>\_<message>:** Creates a message box which displays a message when passed.

* **/mshow:** Shows message boxes outlined in checkered pattern.

* **/mget:** Shows the name of a message box by building inside its area.

* **/mdel\_<name>:** Deletes a message box.

* **/tpbox\_<portalname>:** Creates a portal. The map/coordinates it is used at indicate the destination. The portal area is then made specified between 2 points to bring players from that portal to the destination.

* **/tpshow:** Displays portals outlined in checkered pattern.

* **/tpget:** Building within a portal area will display the portal name.

* **/deltp\_<portalname>:** Deletes a portal.

### General Commands

* **/commands:** Shows a list of available commands.

* **/cmdhelp\_<command>:** Displays help for a specified command.

* **/players:** Shows the players on the server followed by what maps they are on.

* **/pinfo\_<player>:** Displays information of a player: rank, IP, ontime, login-counter, kick-counter, and player number.

* **/material\_<material>:** Changes the user's placement of smooth stone into the selected material. Using a blank '/material' reverts to smooth stone building.

* **/place\_<material>:** Places the specified material under the user's feet. If none is specified the last built block is placed under the player's feet.

* **/pget:** Delete or create a block in a space to show who built or created what block.

* **/rget:** Displays the required rank to build in an area.

* **/bget:** Delete or create a block to display blockname and block#.

* **/undo\_<seconds>:** Undoes the own user's blockchanges on a map specified by the amount of seconds. If none are said, the default undo time is 300 seconds.

* **/bcount:** Displays the total amount of blocks on a map broken up by blocktype.

* **map\_<mapname>:** Switches the user to the specified map.

* **/maps:** Displays a list of maps on the server.

* **/usermaps:** Displays a list of usermaps(importable files).

* **/materials:** Displays a list of usable materials.

* **/tp\_<player>:** Teleports the user to a player.

* **/bring\_<player>:** Brings a specified player to the user.

* **/time:** Displays the server's time and date.

* **/watchdog:** Displays server threads: network, map physics, map blockchanging, map action, etc.

* **/findranks\_<rank1>\_<rank2>:** Displays the number of people between two specified ranks.

* **/me:** Displays the user performing an action.
	+ Example: /me is sitting down.

* **/mad:** *M*essage *AD*mins. Used to send a message to all admins, also used as staff's chat. Triggered by = or ' keys as well.

* **/ranks:** Displays a list of ranks for the server.

* **/setloc\_<location>:** Sets a location where the user has used it under the specified name.

* **/tploc\_<location>:** Teleports the user to the specified location.

* **/bringloc\_<player>\_<location>:** Brings a player to a location.

* **/delloc\_<location>:** Deletes a location.

* **/locations:** Displays a list of locations.

* **/winfo\_<name>:** Displays spec notes on players blacklisted by WoM.

* **/gun:** Draws a usable gun that the player can shoot and kill other players with. Can be fired by destroying a glass block that follows the mouse and aiming your pointer at a player.

## External links

* Outdated server (v .896)
* Current website