The standard implementation of RosaServer including a plugin/gamemode system.
Requires RosaServer.
Copy config.sample.yml
to config.yml
and modify to your heart's content.
The easiest way to start working is to create either a plugin or a gamemode. They work the same, except only one gamemode can be enabled at a time.
If you use VS Code, you can get IntelliSense working using this Lua extension.
IntelliJ IDEA also has better support, using this plugin.
All the RosaServer types/globals are laid out in .meta/template
for this reason. It's also useful as documentation.
Useful commands for server administrators, with logs.
plugin.defaultConfig = {
-- Logs admin actions in Discord rich embeds.
webhookEnabled = false,
webhookHost = 'https://discord.com',
webhookPath = '/api/webhooks/xxxxxx/xxxxxx'
}
/resetlua
- Reset the Lua state and the game./mode <mode>
- Change the enabled mode.
/mod <phoneNumber/name>
- Add a moderator./unmod <phoneNumber/name>
- Remove a moderator.
/kick <phoneNumber/name> [reason]
- Kick a player./punish <phoneNumber/name> [reason]
- Ban an account based on previous bans./unpunish <phoneNumber/name> [reason]
- Remove a punishment from an account./ban <phoneNumber/name> <minutes> [reason]
- Ban an account./unban <phoneNumber/name> [reason]
- Unban an account./kill <phoneNumber/name>
- Kill a player.
/item <name/id>
- Spawn an item./car [type] [color]
- Spawn a vehicle./cash [amount]
- Give yourself money./give <phoneNumber> <amount>
- Give a player money./del
- Delete an object you're looking at.
/find <phoneNumber/name>
- Teleport to a player./fetch <phoneNumber/name>
- Teleport a player to you./hide
- Teleport to an inaccessible room.
/message <message>
- Announce a message./say <message>
- Announce a message prepended by (Moderator)./name <name>
- Set the server name./time <hour/hour:minute>
- Set the solar time./pos
- Get your current position./skip
- Skip the round timer./who <name>
- Search players by name.
/warn <phoneNumber/name> <reason>
- Warn a player./warned
- Acknowledge a warning.
Adds more useful ban messages.
plugin.defaultConfig = {
formatString = 'You are still banned for %im!',
permaFormatString = 'You are permanently banned!'
}
Adds some useful console commands.
eval <code>
- Evaluate a Lua string.list
- List all current players.listplugins
- List all plugins.enableplugin <plugin>
- Enable a plugin (persists after a restart).disableplugin <plugin>
- Disable a plugin (persists after a restart).reloadplugin <plugin>
- Reload a plugin.reloadconfig
- Reload the configuration file.listbans
- List all current bans.
Adds the /help
command.
Logs a bunch of useful events in the console and in daily files.
plugin.defaultConfig = {
-- Writes log lines in Discord code blocks.
webhookEnabled = false,
webhookHost = 'https://discord.com',
webhookPath = '/api/webhooks/xxxxxx/xxxxxx'
}
Rejects very wide chat messages.
Adds the /shutdown [minutes/"now"]
command.
Adds useful information to the console window title.
plugin.defaultConfig = {
updateSeconds = 10
}
Also, adds the /tps
command.
Streams player info to a web server.
plugin.defaultConfig = {
host = 'https://oxs.international',
path = '/api/v1/players',
-- Seconds allowed between requests even if nothing has changed (default 10 min)
maximumWaitTime = 10 * 60
}
Locates players relative to streets.
/where <phoneNumber/name>
- Locate a player.
Only let in certain players.
plugin.defaultConfig = {
-- How many people can be let in regardless of if they're whitelisted
maxPublicSlots = 0
}
listwhitelist
- List all whitelisted players./whitelist <phoneNumber>
- Add a player to the whitelist./unwhitelist <phoneNumber>
- Remove a player from the whitelist.