Help HSADMIN

From Serenity : The Wiki
Jump to: navigation, search

HSADMIN

These HSpace administrative documents are techinical documents. While they may include some discussion of approaches and various tips for running HSpace, they are intended more as a reference guide for command usage and step by step management of the various HSpace components.
This guide is divided into the following sections:
 HS-QUICKSTART   HS-FUNCTIONS    HS-OBJECTS      HS-CLASSES
 HS-SYSTEMS      HS-UNIVERSES    HS-TYPES        HS-CONSOLES
 HS-WEAPONS      HS-SHIELDS      HS-TERRITORIES  HS-HATCHES
 HS-ATTRIBUTES   CLASS PICTURES
Type 'help <section>' for information on each section.

HS-QUICKSTART

Looking for a quick start for your day? Here are some quickstart answers to HSpace admin questions to get you moving along quickly.
Q: I've got HSpace installed, and I've rebooted my game. Here I am, what do I do?
A: Type @space. You'll see all of the current HSpace informationpresented to you. You'll have no classes, no universes, no ships, no planets, and some default weapons that HSpace offers. Your first step is to create a universe, so checkout the 'help hs-universes' help file.
Q: What are the HSpace commands I'll want to know first?
A: There's one command you'll use, and she's called @space. Refer to 'help @space' for the usage of this command and all of the wonderful options it provides.
Q: Where can I set all of the configuration options I want for HSpace?
A: HSpace comes with an hspace.cnf file that you can use to configure HSpace.
Q: How do consoles interact with HSpace?
A: Checkout the 'help hs-consoles' help file, but here's your answer. Consoles use the @nav, @eng, and @console commands to tell HSpace what they (or their users) want to do.
Q: Is HSpace hard to administrate? Am I going to spend my life trying to figure out how to do everything and get it all setup?
A: We hope not! Just keep a tight grip on that @space command and follow the many examples in the help files, and you will fairly easily setup your ships, planets, and other HSpace goodies.

HS-FUNCTIONS

Functions in HSpace allow administrators and players alike to develop "softcode" for working with HSpace. The following functions are currently provided:
 HS_GET_ATTR     HS_SET_ATTR      HS_SPACEMSG      XYANG
 HS_SREP         HS_ENG_SYS       ZANG		        HS_ADD_WEAPON
 HS_WEAPON_ATTR  HS_SYS_ATTR      HS_SYSSET        HS_GET_MISSILE
 HS_COMM_MSG     HS_ADDSYS        HS_DELSYS        HS_CLONE
 HS_DECAY_MSG    HS_NEARBY	       HS_LIST          HS_EXPLODE
 HS_DEL_WEAPON   HS_SET_MISSILE
For more information on a specific function, refer to each function's help file. For example 'help HS_SPACEMSG()'.

HS-OBJECTS

Everything in HSpace is modeled as an object, thus making it an object-oriented system. Everything from a ship, to a planet, to the smallest particle of bug goo hitting the foreward shield of your vessel is modeled as an object in space. Each object has its own behavior and attributes, though many objects may be very similar to other objects (e.g. stars and planets).
Each object in space must belong to a universe, and it has one of two states: active or inactive. Active objects are those that can be seen (generally speaking) in space. They are not docked in another ship. They are not landed on the surface of a planet. They are, essentially, actively in the space that makes up the universe the object belongs to.
Each object in the HSpace must also have an object in the game. For example, a planet called Planet X must have an actual "thing" in the game called Planet X. The object creation command will require that you specify the object # to identify that HSpace object.
Some objects, like ships, can possess engineering systems and engage in combat, while other objects, such as worm holes, serve entirely different purposes. For this reason, each object must be "setup" differently than other objects. When you create a new object, you will most likely have to initialize that object's attributes, just like assembling a new car. You must paint the car, install the radio, etc. Just as you may set an attribute on an object, you can also retrieve attributes from objects. Each object provides a variety of attributes that can, then, be set and retrieved, though these to sets of attributes may not be identical.
 See also: @SPACE-ADDOBJECT, @SPACE-ACTIVATE, HS-TYPES

HS-CLASSES

What is a class? A "class" is an abbreviated reference to a ship class, so the next question is what is a ship class?
We can think of a ship class by taking a simple look at modern day naval vessels. We have a variety of naval vessels present today, many of which are commonly known, such as the destroyer and battleship. Typically, each naval vessel belongs to a certain class of ship. For example, we may find some ship traveling the oceans called the USS Onlooker. It is a large ship, classified as a battleship. However, battleships can vary in how they're designed and what detailed purposes they serve. Thus, each type of battleship belongs to a "class" of battleship. The USS Onlooker might be of the Jersey Class Battleship, which means that it possesses certain attributes common to all battleships of the Jersey class.
Why the use of classes? It is typically uncommon to produce a single vessel with a given set of attributes and characteristics. Often we find at least several vessels that share similarities, and manufacturers can refer to designs for a class of vessel rather than a specific, single vessel. A manufacturer may produce 20, Tiger class sailboats rather than just a single sailboat called the Tiger. The manufacturer, then, profits from the ability to produce multiple ships of that design with relative ease.
In HSpace it is no different. Designing and constructing the initial ship class may be slightly tedious, but the work is much less for producing vessels of that class. Once the base class is in place, vessels of that class can be created quickly. After each vessel is created, administrators have the option to slight alter, or "componentize," pieces of each vessel to make them unique.
In addition to a variety of attributes that can be set on a given ship class, engineering systems must also be added to the class. This is because each type of vessel may contain its own set of engineering systems that differ from other ship classes. For example, ships of Ship Class A may possess jump drives, while ships of Ship Class B do not. For this reason, it is necessary to add engineering systems to the ship class that all ships of that class should possess. When ships of that class are created, they will possess the engineering systems given to that class.
To create a new ship class, refer to the '@SPACE-NEWCLASS' help file.
Refer to 'HS-CLASS-ATTRIBUTES' for information on settingspecific attributes for classes once created.

HS-SYSTEMS

Engineering systems in HSpace are very conveniently modeled to provide the highest level of flexibility. Objects, such as ships, can often be very different from one another, and thus there is no way to predict which engineering systems will be present on a given space object. For all of our examples, we will refer to ships, since they are most likely to possess systems.
What is an engineering system? An engineering system is really any "system" on the ship that helps it function. This may be a computer, a sensor array, a fuel management system, shields, etc. The list is nearly endless, though fortunately it's not! Systems can be given power, or they may provide power, such as with a ship's reactor. Systems may be stressed, and how easily they stress depends on how tolerant they are. Each engineering system at least possesses the following attributes:
 OPTIMAL POWER, TOLERANCE, STRESS, DAMAGE, CURRENT POWER,
 NAME, VISIBLE, EFFICIENCY
"Visible" systems are those systems that you can interact with -- youcan transfer power to and from it. Not all systems are visible, such as with an internal fuel management system. It manages itself and doesn't let you touch it.
A ship may possess from none to many engineering systems, depending on how functional that ship is. For example, it may have jump drives, allowing it to travel at faster than light (FTL) speeds. It may, or may not, have engines, allowing it to move at sublight speeds. Many systems are included in HSpace that can be added to some HSpace objects, such as ships.
See also: @SPACE-ADDSYSCLASS, @SPACE-SYSSETCLASS, @SPACE-SYSSET, HS-SYSTEM-TYPES, HS-SYSTEM-ATTRS

HS-UNIVERSES

The universe is the spice. The spice is the universe .. or something like that.
A universe is just that .. a universe. HSpace objects exist withinuniverses, so they have to exist before any objects can exist. Whether a ship is flying through space or sitting on the surface of a planet,it belongs to a universe.
Each universe in HSpace relates to exactly one room in the game,created for the sole purpose of having a universe in the game. For each universe that exists, there must exist a room for that universe. This is needed for when ships are actively flying through space. It is also useful for looking at the room and the contents of that room to see what objects are actively in the universe.
You may have many universes, or you may have one. Often it is helpful to have at least two universes, one for real ships flying through space, and one for simulator combat that shouldn't interfere with the real universe(s).
See also: @SPACE-NEWUNIVERSE, @SPACE-DELUNIVERSE

HS-TYPES

Many types of HSpace objects can exist in the game. The following types are currently supported by HSpace code:
Type Description
0 No Type (any object)
1 Ship
2 Missile
3 Planet
4 Wormhole
5 Blackhole
6 Nebula
7 Asteroid Belt
- LandingLoc
For any commands that require an object type, the above types can be used. The "No Type," or type 0, can often be specified to represent all objects.
Each object has its own attributes that can be set and retrieved. Because all HSpace objects are derived from a single, NOTYPE base object, they all share some similar attributes that can be set and retrieved. Some objects, such as celestial objects, will share similar celestial attributes that can be set and retrieved.
See also: HS-OBJECT-ATTRS

HS-CONSOLES

Consoles in HSpace allow players to interact with objects in HSpace. For example, a player on a ship may want to navigate that ship, so a navigation console could be created with a set of commands to allow the player to navigate the vessel.
In HSpace version 3.x and earlier, the navigation console was the "heart" of any vessel. In HSpace 4.0 this concept ceases to exist. It is the "ship object" which is the heart of the ship. All consoles on a ship then belong to that ship object (a MUSH object).
Any HSpace console can use any of the @nav, @eng, and @console commands, thus allowing you to derive many types of consoles from navigation to engineering and so on.
Consoles possess an added ability to make administration and development of MUSH tools easier. Most @space commands will work on consoles as if those consoles were the ship. For example, using the @space/set command requires that the ship object be specified, but any console on the ship can serve in its place.
See also: HS-CONSOLE-ATTRS, HS-CONSOLE-OFFSETS

HS-WEAPONS

Weapons in HSpace provide the essential means for intervessel combat, and thus may vary in nature. While most weapons will be provided by the HSpace software, it is entirely possible to create your own, softcoded weapons using the provided HSpace interface functions. Querying and damaging systems can easily be performed, making softcoded weapons possible. This help file will clearly only discuss weapons provided with the HSpace software.
All weapons are stored in the weapondb located in your game/space/ directory. The following types of weapons are currently supported:
Lasers:
Energy based weapons in the form of a gun. These weapons fire blasts of energy at the target and may or may not be strong enough to break through the target's shields.
Missiles:
Also known as torpedos, these are large projectile weapons that must be loaded onto a hardpoint and fired at the target. Missiles are limited in supply. They also possess a limited "turning rate," which means they must steer toward a target. This also makes it possible to evade less maneuverably missiles.
See Also: HS-WEAPON-ATTRS, HS-LASER-ATTRS, HS-MISSILE-ATTRS
           @space-newweapon, @space-setweapon, @space-addweapon

HS-SHIELDS

HSpace supports two types of shields on vessels: Deflector(0) and Absorption(1). Ships that have shields must possess pairs of shields. That is, they must either have no (0) shields or 2 or 4 shields. HSpace does not currently support odd numbers of shields nor greater than 4 shields.
Absorption shields were used in versions of HSpace less than 4.0, and they work much like the skin on your body. The only difference is that you can't take your skin off, but let us pretend you can. When power is initially supplied to the absorption shield, the shield generator slowly begins to form a protective layer, the absorption shield. While the regeneration process may be slow, the shield can be lowered and raised subsequently without losing the charge of the shield. That is to say that the skin can be taken off and put back on without losing the strength of the skin. When an absorption shield is hit by an object or blast, it weakens. The shield regenerators will slowly begin to regenerate the shield. The shield loses effectiveness when its strength reduces to 0, at which point any objects or blasts pierce the shield to the underlying hull.
Deflector shields work by producing a semi-permeable shielding layer around the ship. They can be raised and lowered quickly and never need to recharge. They work by deflecting all incoming objects and blasts up to a given strength, which is their deflection strength. For example, a small deflector shield may be able to deflect the normal space debris that the ship encounters, but it may not be able to fully deflect a laser blast from another ship. The deflector shield will deflect all damage up to its strength value. Additional damage pierces the shield to the underlying hull. If the shield regenerators are damaged, the strength of the deflector shield is weakened.

HS-TERRITORIES

What is a territory? A territory is some piece of space, defined by specified boundaries.
HSpace models space territories through one of two ways. These are radial and cubic territories. A radial territory defines a center of the territory and a radius to which the boundaries extend from that center. A cubic territory defines a minimum and maximum set of 3D coordinates (6 coordinates in all) that define a cube in space.
When a ship travels, HSpace looks through the territories in the game to determine which territory the ship is in. If the ship enters or leaves a territory, a message is displayed to the console users on the ship. Further, HSpace triggers an attribute on the game object representing the territory, which can be useful for softcoding border alerts, welcome messages, etc.
The ENTER and LEAVE (@enter, @leave) messages are displayed to console users on the ship when entering or leaving a territory, and the AENTER and ALEAVE attributes are likewise triggered.
See Also: TERRITORY-SETUP, TERRITORY-ATTRS

HS-HATCHES

Hatches were implemented in version 4.11 to replace the old boarding links, hatches(represented by exits) can be added to ships with the @space/addhatch command, there are several gettable attributes on them. Two ships can links together through the hatches while floating in space, they must be within 5 hm of eachother.
See: HS-HATCH-ATTRS

HS-ATTRIBUTES

There are a variety of miscellaneous attributes that can be set on various HSpace objects to provide customization. The following is an attempt to list all attributes not covered in other sections of this guide:
Ship Object Attributes:
HSMSG_LANDING_APPEARS: Msg when ship first appears in sky above a landing location. (planet)
HSMSG_LANDING_LANDS: Msg used when ship touches down on the the landing location. (planet)
HSMSG_DOCKING_DOCKS: Msg used when ship docks on another ship.
HSMSG_UNDOCK_START: Msg used when ship prepares to undock from another ship.
HSMSG_UNDOCK_FINAL: Msg used when the ship departs from the other ship.
HSMSG_TAKEOFF_START: Msg used when a ship activates lift rockets or equivalent. (planet)
HSMSG_TAKEOFF_LIFTOFF: Msg used when ship first lifts off surface of the planet.
HSMSG_TAKEOFF_FINAL: Msg used when ship disappears from view as it rises from the surface of the planet.
BAY: Dbref of the room on the ship where a player boards.
Console Attributes:
ROOM_BROADCAST: Specifies that all messages delivered to a console should be broadcast to the room instead of the console user.

CLASS PICTURES

The Vstats command that comes with HSpace 4.0 provides the ability for you to show a picture of the ship class to the player. This is easily accomplished by creating a pics directory in your space directory (configurable in hspace.cnf) that will include your class pictures. For each ship class (0 .. n), you simply create a file called class_#.pic, containing the ASCII art you wish to have displayed. Additionally, you can have the hull and shield strength percentages displayed by using the %h (hull), %f (foreshield), %p (port shield), %a (aft shield), %i (ident number), %n (name), %x (XY heading), %z (Z heading), %v (velocity) and %s (starboard shield) substitutions. For each of these substitions, a 4 character percentage (e.g 100%) will be put in its place. Thus, keep this 4 character requirement in mind when drawing your art. What you see may not be what you get when it is displayed.
You do not need to reboot your game for changes to the artwork to be displayed. It is taken directly from the file when the vstats command is issued.