From Quake Wiki
The func_door is a solid brush entity that can move in the level. As the name implies it is commonly used for doors, however its movement is also useful in implementing simple moving objects such as lifts or extending platforms. It can be made to open in any horizontal direction, or straight up or down, but in standard Quake it cannot be made to rotate.
The Door tutorial article has some examples of the creation and use of a func_door entity.
|Hectate added a To-Do; Create a func_door tutorial!.|
When triggered, doors move in a straight line until fully open, then wait a short time, then close by moving back to the starting position. The direction of travel is controlled by the angle value. The distance traveled is equal to the width of the door in that direction, less an amount specified by the lip value.
By default doors will automatically open when a player or monster is near, and close when they leave. This only happens if the door is not locked and doesn't have a targetname.
If a door has a targetname, it will only open if another entity triggers it, such as a button or trigger.
If a door is locked, it will only open if the player touches it while holding the correct key. If this happens, the door will open and stay open permanently, and the player loses the key.
A locked door, or a door with a targetname, will display a message if the player touches it while it is closed (except when the player has the key for the locked door.)
By default multiple doors that touch (or have overlapping bounding boxes) will be linked, so that if one opens they will all open. This can be used to make a multi-part door. To disable this behavior use the "Don't Link" spawnflag.
|targetname||The name of the door. Only use this if you want the door to be locked until triggered by something else, such as a button.|
|target||The targetname of the entity that will be triggered when the door is triggered.|
|killtarget||The targetname of the entity that will be killed when the door is triggered.|
|angle||Sets the direction the door should move when it opens. Angles from 0 to 359 will make it move horizontally. You can also set the motion to be vertical by setting the angle to -1 (upward motion) or -2 (downward motion) instead.|
|wait||Time after opening for it to reset and be triggerable again. Setting this to -1 will cause the door to remain open.|
|speed||The movement speed of the door.|
|lip||An offset added to the default movement distance that allows the designer to adjust the amount the door travels. This value can be positive or negative; positive values reduce the distance while negative values increase the distance.|
|health||If set to any value above 0, the door will only be activated by shooting it or hitting it with the axe. Often used for secret doors. The door will not trigger until the damage exceeds the health value.|
|message||A message to display when the player touches the door in its closed state.|
|sounds|| Type of sounds produced by the entity when triggered. The selection is limited to the following options:
|noise2||The sound to play during movement if custom sounds are being used|
|noise1||The sound to play when motion stops if custom sounds are being used|
|dmg||The amount of damage to apply to an entity that attempts to block the motion of the door.|
The button supports standard spawnflags for difficulty and deathmatch presence.
|256||Not on Easy|
|512||Not on Normal|
|1024||Not on Hard|
|2048||Not in Deathmatch|
It also has the following additional flags enabled:
|1||Starts open||The entity is moved to the open position for its initial state|
|4||Don't link||Restricts the entity from being linked to a matching door (preventing it from opening as part of a pair)|
|8||Gold key required||The entity will not move unless the player has collected the Gold Key|
|16||Silver key required||The entity will not move unless the player has collected the Silver key|
|32||Toggle||The entity will toggle between open and closed states instead of automatically closing after a delay|