Skip to content

Moderator and Admin Guide

grilledham edited this page Dec 29, 2020 · 27 revisions

Introduction

The learning curve for becoming a moderator/admin can be steep (figuring out the tools we have and how to use them). This crash course is designed to integrate new staff while acting as a reference for existing staff.

As this is a wiki, feel free to make edits you feel are appropriate, or write a suggestion and drop it into the moderator-guide channel on discord.

Your First Time

If you are reading this section in particular, then welcome to the team! There are two main places you should get familiar with:

https://redmew.com/admin/signin - log in with your discord account for access to:

  • Servers: Access to the server console, start/stop buttons, multiplayer options area and maps. This is where you can restart servers (stop, wait 10 seconds then restart) or load maps into new ones.
  • Bans: Access to the list of all banned members with a name, reason, admin and option to unban. You can also ban people from here. All bans/unbans are synced with the running servers
  • Scenario Data: Where you can give people regular and donator rank.

Now, for discord:

  • #moderation-requests is our channel where people ping us about stuff. server resets, griefers needing to be dealt with, discord support, general support ("how do i join the game") and more will all show up in there. If the moderator role gets pinged and nobody else is typing, feel free to troubleshoot to the best of your abilty or ping a higher up if you can't

  • #moderator-guide is for internal updates (and a link to the full guide, on our github)

  • #moderation-log is where we throw ban evidence

  • #dev-discussion is where more technical stuff goes on (that i don't understand) related to github and the scenario

  • #community-admin-chat is where staff from most communities come together to discuss, plan, and trade bans like a game of go fish.

  • #omni-log is where all message deletions/edits are recorded, along with all activity in #moderation-requests

  • #bot-playground is where we do bot stuff that is confusing to the public,

  • and #welcome-channel is where all server joins/leaves are logged.

RedMew's mission statement and two immutable rules

RedMew aims to provide entertaining maps for players on our servers. We want to foster an inclusive atmosphere where nobody feels harassed or persecuted. Within those boundaries, players should feel able to be as silly as they want to be. While we don't have a policy of being family-friendly, we discourage people going over the top in their vulgarity.

In line with an inclusive atmosphere: hate speech is absolutely forbidden and grounds for an immediate ban. Personal attacks, personal insults, and the like are cause for warnings and escalated actions if the behaviour continues (escalated actions being /kick, etc. before a full ban).

The other case for immediate ban is clear and intentional griefing. Defining griefing can be difficult, but a general rule of thumb would be: intentionally trying to reduce the productivity of the base, especially by means of stopping belt, fluid, or electricity flow.

What is expected of admins/moderators

We have no expectations or requirements of your time outside of when you are playing Factorio on the RedMew servers.

If and when you are playing on RedMew servers there is an expectation that you fill the role of a moderator/admin and respond to users' reports and/or your own observations of rules infractions. Our rules are pretty straightforward: no griefing, no hate speech, no personal insults, no harassment. These rules are not all-inclusive and mods/admins are allowed to use their discretion to punish actions they deem to be harmful to the RedMew community or the map/game/server. In general if you see someone breaking the rules you should use /jail them to prevent further harm then question them via /w whispers to see if there is a reasonable explanation for their actions. Some players do not pay attention to chat, so /popup-player can be useful in those cases. In the event someone leaves without providing sufficient reasons for their actions, punishment can be administered in absentia.

There is no punishment for making an incorrect or unpopular decision. If one mod/admin makes a decision that another disagrees with, we expect it to be discussed either privately or in the admin channel so we can try to present ourselves as a cohesive team to our users.

Prolonged absences

Life happens. If you know you're going to be away from the game for 30+ days or if you just want a break from any responsibilities we would appreciate you letting us know. We would like to keep the admin and moderator roles reserved for active admins/mods. We have a role for staff who are currently on leave called old goats. Old goats can return to their admin/moderator role simply by asking.

So hopefully you have an idea of what we want in an admin, now we'll go over what you'll need to know to actually act the part on RedMew servers.

Tools

Communication

/a Will send a chat to all other admins, and only to other admins.
/popup <message> creates a text window on all players' screens giving them the message you write. If you want them to know who it's from, please sign the message.
/popup-player <name> <message> has the same effect as /popup, but only for the named player.

Getting around the map

The /tp command has 3 distinct uses:
/tp <name> will teleport you to a player.
/tp mode when toggled on, teleports you to ghosts that you place.
/tp while an entity is selected (your cursor is highlighting it), you will be teleported to that entity (an entity can be roughly defined as "anything gives a tooltip when you hover over it on the map").
/invoke <name> will teleport a player to you.

Dealing with infractions

Evidence gathering

/find <name> creates an alert you can click on to find the location of a player.
/open <name> opens the player's character gui, allowing you to see all items they have in their: inventory, quickbar, trash slots, equipment.
/watch <name> opens a camera to watch a player.
/whois <player> prints out a variety of stats about a player
/whois <player> yes will also give you a readout of their inventory

Punishing

/jail and /unjail both take a <name> and place that player into a permissions group which prevents any action other than chatting.
/probation <name> and /probation-remove <name> adds or removes probation rank from a player. Probation restricts what players can do, such as never being allowed to use a deconstruction planner, not being allowed to use redmew /commands, etc.
/purge <name> removes a player's messages from the chat log (for cases of hate speech, etc.).
/kick <name> kicks the player from the server.
/ban <name> <reason> bans the player from the server.

You need to include the reason for the ban and the link to discord to allow them to appeal. Your name and the time/date will automatically be entered into the ban log. Bans without a reason will not be upheld if a player appeals. If a player is already banned, a new /ban will overwrite the previous, this means you can modify the ban reason if you made a mistake. You do not need to /unban them to issue a new ban reason.
If you have evidence of the infraction(s) such as screenshots, video, etc. it can be placed into the #moderation-log channel on discord so that, in the event of an appeal, we have something concrete to point at.

A sample ban: /ban Valansch Griefing power poles. To appeal visit redmew.com/discord

"What should a ban reason look like?"
Every moderator and admin can look at the full banlist at any time. It should give an idea of what level of detail is expected for a ban to withstand scrutiny. https://redmew.com/admin/bans
If a generic reason is given like "griefing" or "troll", it will likely be reversed if the player appeals.

Fixing

/hax disables crafting cost, letting you craft items in your pocket for free.
/revive-ghosts <radius> will revive ghosts in a radius around you. If you don't supply a number, a radius of 10 is the default. This can be useful after a griefer bombs something or if a griefer removes a bunch of pipes from a nuclear design for example. You can place the blueprint down and use the command rather than trying to rebuild it by hand.

Utility

/popup <message> creates a text window on all players' screens giving them the message you write. If you want them to know who it's from, please sign the message.
/popup-player <name> <message> has the same effect as /popup, but only for the named player
/regular <name> adds regular rank from a player
/regular-remove <name> regular rank from a player

the general requirement for becoming a regular is 2 hours played + an admin verifying that they have contributed to the building of the base or clearing of biters or has made positive contributions in other ways. Promoting a player to the rank of regular is simply saying "I believe this player to be acting in good faith" or more simply "this person isn't a dick". Promoting is not necessary for each player passing the requirements above, since players are given an "auto-trusted" rank after some time.

If you are changing ranks on the web panel, give the player a corresponding number: probation = -10, guest = 0, auto_trusted = 10, regular = 20, admin = 30,.

/reward <target> <quantity> <reason> example: /reward Newcott 45 being a good guy. This will print a message for all to see:
plague006 has rewarded Newcott with 45 coins for being a good guy
destroy Destroys the entity under your cursor (an entity being roughly defined as anything that gives you a tooltip on the right side of the screen)

Fun

/apocalypse Meant for end-of-map use. The first time it is run, it creates a pre-apocalypse save because once you run it a second time, there's no going back. It spawns 4 biters at the player spawn point, the 4 biters of the apocalypse. Those 4 biters are eternal and will revive on death. They also grant that ability to all other biters on the map. Worse, the horsemen and all other biters also have a 1% chance to duplicate. So essentially, they're an unstoppable force of biters that gets stronger the more you fight them.

/biter-attack Sends a biter attack against the targeted player.

meltdown-get and meltdown-set: the meltdown module has nuclear reactors explode if the temperature gets too high.
meltdown-get gives you the status and meltdown-set takes either on or off. Example: meltdown-set on


Nothing below is expected of anyone, but if you're comfortable with it, don't be shy

Server info

To check if server's ISP is having issues:
https://www.hetzner-status.de/en.html

Direct connecting to the servers:

Server 01: redmew.com:34201 -- regular/production server  
Server 02: redmew.com:34202 -- regular/production server  
Server 03: redmew.com:34203 -- regular/production server  
Server 04: redmew.com:34204 -- regular/production server (typically PvP) 
Server 05: redmew.com:34205 -- regular/production server  
Server 06: redmew.com:34206 -- regular/production server (typically diggy)
Server 07: redmew.com:34207 -- regular/production server (typically crash site)  
Server 08: redmew.com:34208 -- modded/overflow server   
Server 09: redmew.com:34209 -- dev server, not listed in the browser  
Server 10: redmew.com:34210 -- dev server, not listed in the browser  

As a moderator/admin there might be a need to access the console without being in game, or to restart a server if it crashes

The RedMew web interface:

Available at http://redmew.com/admin and using your discord to log in, the web interface gives a lot of control to admins and moderators to perform actions in-game while unable to access the game itself. In general it is self-explanatory but I'll give a brief overview which can be helpful for those who have never operated a server before

selects which server to look at/act on. The server numbers correspond to the server chat numbers (ex. s1 = server 1)
Start the most recent save
Start the checkmarked save
Start the checkmarked scenario
Save current map.
Update factorio version.
Stop the server.
Force the server stop. No saving. Useful when frozen/stuck.
Will force the server to update its current status

The console for the server is shown and beneath it, the text box allows you to chat to the server as well as execute commands

The save functions are self-explanatory except for which will remove extraneous file from a save (files that aren't required to run the map)

Lower on the page are the config options for the server including the title and description

At the top
brings up the server control page described above
allows you to add or remove bans without being in-game
Should not be touched except adding donators: Select in the field select, click on the name a_sample_donator. Change the name listed in and in value change to the appropriate flag number (1 for rank only, 3 for rank + train perk)

If you're not sure if you're doing the right thing, it is best to ask rather than experiment. 😃

Advanced server stuff and LUA scripts to help with griefing or server issues

As an admin on the server you can run LUA via the console. The LUA comes after either /c, /sc, /silent-command, /command and /sc. /c (and /command) will print the command and potential errors for all to see. /sc (and /silent-command) will not print the command, but will show potential errors to all users. While /sc will keep the command (and any errors) silent/so only you can see it. It is adviced to only use /sc to spare you any embarrassment.

This bit of LUA will scan all players' inventory for the first item in your quickbar and give you a list of everyone who has more than the threshold as well as the quantity they have.
This can be useful if, for example, all the U-235 goes missing. You can run this command and if a player has it in their inventory it will tell you that. You should edit the number beside threshold to match the quantity you're searching for. You can also leave
slot 1 of your quickbar (no matter if you swap your quickbars with x, slot 1 is always the top-left slot) empty and instead search for an explicit item by changing logistic-robot to whateter item you're searching for.

/sc
local item = "logistic-robot"  
local threshold = 200  
if (game.player.get_inventory(defines.inventory.player_quickbar)[1].valid_for_read) then  
    item = game.player.get_inventory(defines.inventory.player_quickbar)[1].name end  
game.player.print(item)  
for _, p in pairs(game.players) do  
    local count = p.get_item_count(item)  
    if count >= threshold then  
        game.player.print(p.name .. ":  " ..  count)  
    end  
end  

To remove a recipe from the game (if it happens to be giving issues) you can use the following (replacing green-wire with whatever the trouble item is)
game.player.force.recipes["green-wire"].enabled=false

To remove a technology from the game, you can use the following (this time replacing landfill)
game.forces["player"].technologies["landfill"].enabled = false

To hover over something and remove it from the game, use
game.player.selected.destroy()

You can find all items and technologies in the wiki: https://wiki.factorio.com/

Measures to decrease load on servers with too many biters

Remove all corpses:

/sc
for _, corpse in pairs(game.player.surface.find_entities_filtered{type='corpse'}) do  
  corpse.destroy()  
end  

Kill all enemy units:

/sc game.forces.enemy.kill_all_units()  

Kill 20% of all spawners:

/sc  
for index, enemy in pairs(game.player.surface.find_entities_filtered{force ='enemy'}) do  
  if index %5==0 then  
    enemy.destroy()  
  end  
end  

Disable pollution on the map: /sc game.player.surface.clear_pollution() and then /sc game.map_settings.pollution.enabled = false

Clone this wiki locally