14 KiB
The Mythran's Bible - A Server Operator's Guide to Darkflame Universe
So you've finally setup a server instance, created an admin account, then created additional accounts using the Account Manager. You've connected to the server using your client and everything seems to be working fine.
Now that you've reached this point, there's still a lot to know about managing and maintaining a server.
Port Forwarding
The server you're running will need to open the following ports to allow for outside access to your server|
- 1001 - Auth Server
- 2000 - Master Server
- 2005 - Chat Server
- 3000-4000 -
If you're using ufw as a firewall (most firewalled Linux systems), this can be done with:
sudo ufw allow 1001/udp
sudo ufw allow 2000/udp
sudo ufw allow 2005/udp
sudo ufw allow 3000:4000/udp
GM Levels
Game moderator levels define what console commands a given account has access to in-game. To modify a player's maximum GM level, set the gm_level
column in the accounts
table in the MySQL database.
Players have a max GM level and a current GM level; at any time, a player can use the /setgmlevel
command to raise their current GM level up to their maximum, which grants them permissions corresponding with that level, or lower their GM level down to a lower level, or 0, which limits what commands they can execute.
A player with full GM permissions can lower themselves down to 0 to play the game as though they were a normal player, then raise their level up if they need to do something like teleport or unstuck themselves. Think of it like Minecraft; if you have permissions, you can play the game in Survival, and call /gamemode creative
only when you get stuck.
There are 10 total levels, as follows:
- 0 - Civilian: This level describes all normal players of the game.
- Players at this level still have access some commands, see the Console Commands section below.
- 1 - Forum Moderator: This level describes forum moderators who have very few permissions.
- NOTICE: Players with their GM level set to this level and above may experience deviations from normal gameplay.
- Players at this level can send any messages in chat without moderation or blacklist checking.
- This is based on your current level, not your maximum level, so if you are currently playing as a Civilian you cannot chat without filters.
- Players at this level and above will appear as Mythrans. This cannot be toggled at this time.
- 2 - Junior Moderator: This level describes moderators who can help regulate chat.
- Players at this level and above can access chat logs, kick players, and mute players.
- Players at this level and above can teleport to specific coordinates on the map.
- 3 - Moderator: This level describes moderators who can help deal with glitches.
- Players at this level and above can return lost items to players.
- 4 - Senior Moderator: This level describes moderators who can help deal with problematic players.
- Players at this level and above can ban players.
- 5 - Lead Moderator: This level describes moderators who are trusted to manage user-generated content.
- Players at this level and above can approve properties.
- 6 - Junior Developer: This level describes junior developers and members of future content teams.
- On live servers, their GM level is reset to 0 (Civilian).
- 7 - Inactive Developer: This level describes inactive developers with limited permissions.
- 8 - Active Developer: This level describes players who have been granted all but the most powerful permissions.
- Players at this level and above can spawn entities, instantly smash target players, send Mythran announcements to all players, run macros, and more.
- NOTICE: This GM level should only be granted to trusted players.
- 9 - Server Operator: This level describes players with full access and permissions.
- Players at this level can shut down the server.
- NOTICE: This GM level should only be granted to system administrators.
Console Commands
Here is a list of all console commands, grouped by required permission level. Each level also has access to the commands of the levels above them. To run one of these console comands, enter them into chat.
Values in <brackets>
represent necessary parameters, values in (parens)
represent optional parameters.
WORK IN PROGRESS
0 - Civilian
These commands are available to ALL normal players of the game, including newly created characters and non-moderators.
/pvp
This is a custom command added by the Darkflame Server
This command toggles a flag on the current player, which enables that player to attack, damage, and smash other players who are participating in PvP.
This system functions similarly to Terraria's PvP system; you must enable PvP in order to participate in it, and can disable it at any time.
/playanimation
This command triggers the player to play an animation with the given internal name. This can look somewhat buggy, since any player animation can be played, such as attacks that don't match your current gear, but isn't that part of the fun of it?
TODO: Add a curated list of some fun animations.
/playanim
Alias for /playanimation
.
/die
This command smashes the current player, prompting them to respawn.
/resurrect
This command smashes the current player and respawns them.
TODO: How does this differ from /die
?
/who
This command outputs a list of all the players in the current instance.
/ping (-l)
This commands outputs your average ping level, indicating the strength of your connection to the server. Use /ping -l
to output your latest ping level rather than your average ping level.
/skip-ags
This command will check if the player has been assigned mission ID 229
, and will skip it if they have.
This mission ID corresponds to the required mission in which the player must survive one minute in Avant Gardens Survival. Since this minigame can sometimes be buggy, this command will allow any player to skip the mission if needed.
/fix-stats
TODO: This command's purpose is unknown.
/requestmailcount
This command will show the You have x new messages
status box at the bottom right corner of your game screen.
/instanceinfo
TODO: What does this do?
/credits
Displays information about the developers of Darkflame Universe.
/info
Displays basic information about the currently connected Darkflame Universe server.
/leave-zone
TODO: This requires clarification.
Moves the current player out of an instanced zone. Such as the Block Yard or a Minigame such as Avant Garden Survival
/join
TODO: This requires clarification.
Moves the player to a private instance.
2 - Junior Moderator
/mute (days) (hours)
Mutes the target player for the target number of days plus the target number of hours.
If no duration is specified, the mute is permanent.
/kick
Kicks the target player from the server. They can still login again.
/ban
Bans the target player permanently from the server. They cannot login again.
At this time there is no easy functionality to unban a player.
/teleport (y)
Teleports to the given X and Z coordinates. If Y is specified, the player will be teleported to that height; otherwise, the player will be teleported to the height of the terrain.
/tele
Alias for /teleport
.
3 - Moderator
/mailitem
Sends an item to the mailbox of the target player.
5 - Lead Moderator
/approveproperty
Approves the currently accessed user-built property for public viewing.
8 - Active Developer
/kill
https://www.youtube.com/watch?v=dyIilW_eBjc
/speedboost
Boost the player's speed by the given amount.
TODO: Does this support decimal values or only whole numbers?
/freecam
Key | Description |
---|---|
Q/E | Rotates the camera by the X axis. Left-Right |
R/F | Moves the camera up and down the Y axis |
W/A/S/D | Moves the camera by the X / Z Axis |
Mouse | Rotate the camera by X / Y / Z |
Toggles free camera mode.
TODO: Expand description.
/setcontrolscheme
TODO: What does this do?
/list-spawns
TODO: What does this do?
/unlock-emote
TODO: What does this do?
/setuistate
TODO: What does this do?
/toggle
TODO: What does this do?
/setinventorysize
Sets the size of the current player's inventory to the specified value.
/setinvsize
Alias for /setinventorysize
.
/runmacro
Runs the specified macro at the path ./res/macros/<path>.scm
.
/addmission
Forces the current player to accept the mission with the specific ID.
/completemission
Immediately completes the mission with the specific ID for the current player.
/setflag
Every player has a 12,008-bit string associated with them that contains a large number of on-off switches associated with the character's status and progress. This command enables a specific flag on the current player.
/clearflag
Every player has a 12,008-bit string associated with them that contains a large number of on-off switches associated with the character's status and progress. This command disables a specific flag on the current player.
/resetmission
Sets a completed mission back as active.
/playeffect
Starts playing a specific effect on the given player.
/stopeffect
Stops playing a specific effect on the given player.