Non-Admin Staff Conduct: Difference between revisions

From BeeStation Wiki
Jump to navigation Jump to search
 
(2 intermediate revisions by the same user not shown)
Line 64: Line 64:
**A critical PR is a major bug/exploit which is disrupting the game to a point where the server cannot operate. This could be an exploit which allows for the game to be rendered unplayable, or a bug that means the game cannot be played properly. Balance changes affecting a single role are not considered critical, even if it makes that role far more powerful than intended.
**A critical PR is a major bug/exploit which is disrupting the game to a point where the server cannot operate. This could be an exploit which allows for the game to be rendered unplayable, or a bug that means the game cannot be played properly. Balance changes affecting a single role are not considered critical, even if it makes that role far more powerful than intended.
**Temporary PRs which fix major issues should be testmerged. If the author is not available or willing to make the fixes required, the offending PR should be reverted.
**Temporary PRs which fix major issues should be testmerged. If the author is not available or willing to make the fixes required, the offending PR should be reverted.
* All PRs should be considered as they are and will be treated as if they will have no more follow up PRs. If it does not provide a stable solution, it should not be merged.
** If a PR has been merged and doesn't function as expected, the author will be notified and it will be reverted if the issues cannot be fixed within a few days.
** Any other PRs that modify code added by a non-functioning PR should be frozen to allow for reversion.


*Do not merge any pull request with config or SQL changes. Review and approve it then request a review from Crossed.
*Do not merge any pull request with config or SQL changes. Review and approve it then request a review from Crossed.
Line 73: Line 76:
*Do not unilaterally merge PRs that have had a key placed on them.
*Do not unilaterally merge PRs that have had a key placed on them.
**If a PR has a key on it, then there should be a discussion about the PR before merge. If an consensus is not reached then it is up to the head-developer to make the decision.
**If a PR has a key on it, then there should be a discussion about the PR before merge. If an consensus is not reached then it is up to the head-developer to make the decision.
*Changes that affect balance or add features should be given time and discussed with other maintainers and contributors for opinions. If there are no strong opinions, then the PR can be put to vote (See below).
*Changes that affect balance or add features should be given time and discussed with other maintainers and contributors for opinions.
**If a significant amount of time passes (Minimum of 2-weeks) and there has been no discussion, ping maintainers for comment and indicate the action that you wish to perform (merge/close). If there are no responses within 24-hours, then you may perform that action unilaterally. All discussion points should be resolved first, do not merge the PR if the conversation does not reach a conclussion.
**If there are no strong opinions, then the PR can be put to vote (See below).
*Any PRs that make substantial player-facing changes to the game should be signed off by the head-developer first. Any PRs which make substantial changes to the codebase which will affect how code is being written (changing a pre-existing coding convention) should also be signed off on first.
*Any PRs that make substantial player-facing changes to the game should be signed off by the head-developer first. Any PRs which make substantial changes to the codebase which will affect how code is being written (changing a pre-existing coding convention) should also be signed off on first.
* Maintainers specific to a single area of the code (Maptainer, Spritetainer) should only testmerge/merge PRs in their area.
* Maintainers specific to a single area of the code (Maptainer, Spritetainer) should only testmerge/merge PRs in their area.
=== Specific Policy/Processes ===
=== Specific Policy/Processes ===
==== Large structural changes to the code ====
==== Large structural changes to the code ====

Latest revision as of 17:24, 1 August 2024

Note: This page is moderated and can be referenced in OOC issues, such as ban appeals, complaints, reports, etc. This may not apply to the pages this page links to.

This document is intended to set out a clear set of rules and guidelines for our mentors and other non-admin specific roles (TBA)


Universal Conduct

All types of non-admin staff must follow these guidelines. Admins who break these rules are liable for punishment as if they had broken admin conduct.

1: You are our most trusted players. Act like it:

You’ve been granted access to either sensitive policy or round info. As such, you are held to a higher standard than regular players. You should not accumulate large numbers of notes or bans as a mentor or maintainer. Some leeway is permitted, as nobody is perfect and we don’t expect you to be, but you should keep a generally clean record. The ballpark estimate for how many notes you can get away with is 0.033 per hour at the most, or one note per 30 hours of play. This does not apply retroactively, so do not panic if you have a pile of notes, so long as you improve and show a willingness to at least try to be a good player, you will not be removed from your position.

2: Do not be toxic to other players:

Likewise, you should act as an example to others during your interactions in OOC, the forums and discord. While you are not expected to coddle other players and never criticise anyone, you should not go out of your way to provoke fights or arguments for little to no reason. Do not harass other players, and do not constantly mock new players for being new. If someone is trying to provoke you and you end up in a massive fight with them, this is understandable, but try to avoid it regardless.

3: You are part of the staff team and as such represent us:

Do not raid or grief other servers. Do not advertise us on servers where this is not allowed. Use common sense and don’t do stuff that’d get other servers massively mad at us. Depending on the severity of your actions, you may be liable for offences within other server communities as if you had committed them within our community.

4: Follow forum/discord conduct:

Don’t peanut post in ban appeals. Do not spam threads with random images. Meming is allowed, but don’t do it in serious topics (Feedback threads, ban appeals, admin/player reports).

5: Follow the Legal and Operations Policy:

Follow and adhere to all of the policies and guidelines found on Legal and Operations Policy

Mentor-Specific Conduct

1: Mentorhelp conduct:

  • Your job is to provide assistance for players with gameplay issues.
  • Do not leak the contents of mentorhelps outside of mhelp, msay or #mentors.
  • Do not mock or insult players for any reason in an mhelp, do not give meme answers unless the mhelp is an obvious meme mhelp (use common sense).
  • Do not give false or misleading information to a player during an mhelp, and if you are not sure if the information you are providing is accurate, make this clear in the message.
  • For rules/grief related mhelps, transfer them to adminhelp. Only admins are allowed to answer rules related questions.
  • Do not act upon any information you receive in mhelps about the current round.

2: Msay/IC OOC conduct:

  • By the nature of your position, you have access to means of private OOC communication. As you are supposed to be trustworthy, the IC OOC rules for these channels are somewhat loosened to allow you to function properly.
  • You may freely discuss the contents of mhelps in both #mentors and msay.
  • You may give IC information that is relevant to an mhelp freely in both channels.
  • You may IC OOC in these channels for the purposes of expanding your collective knowledge of new features during a testmerge as well as to test for bugs.
  • Do not act upon any information you receive from either channel about the current round.
  • Do not release these private discussions outside of mhelp, msay and #mentors

3: Mentor Application conduct:

  • When asking questions on mentor applications, you should not be asking more than 4 questions per person per mentor application.

Demotion Procedure

  • A report may be opened against you on the forums, or you may be internally investigated by the admin team.
  • The facts are verified and it is decided if you are guilty or not of a conduct breach.
  • If you are found guilty, you will be either officially warned or immediately dementored.
  • Breaking a part of the conduct that is underlined is grounds for immediate removal.
  • The results of the investigation will be published in a public channel similar to #admin-strikes, with the reasoning being given.
  • If you are inactive for a significant period of time you may be dementored due to your knowledge of the game being out of date. You may reapply when ready to regain your mentor status.

Maintainer-Specific Conduct

Maintainer Rules

  • Do not disclose any information from the ops channels (#server-ops and #downstream-ops) without permission from the persons who posted it.
  • Follow and enforce the code contribution guidelines.
  • PRs may only be closed under the following conditions:
    • PRs may be given 'close keys' via the github label system. A PR may be closed once it has recieved 3 keys, including your own key. A reason must be included when applying a close key.
    • A PR that has had no other maintainer activity for 2 weeks may be closed 24h after pinging the maintainer role and requesting reviews for said PR, as long as the opinions from maintainers who have provided input is unanimous.
    • The head-developer may choose to close a PR for any reason, however this reason must be clearly stated in the PR.
  • Acting maliciously will result in demotion.
    • Do not use any granted privileges for reasons other than what they are intended for.
  • Feedback must be constructive and maintainers should not talk about other members of the development community in a way that they do not want to be talked about, this applies to developers involved with other SS13 projects. To report an issue, contact the head-developer or host via discord DMs.

PR Merging

  • Non-critical PRs that have been open for less than 24h should not be merged. Critical PRs may be merged if they have approval from another maintainer, or should be testmerged as an alternative.
    • A critical PR is a major bug/exploit which is disrupting the game to a point where the server cannot operate. This could be an exploit which allows for the game to be rendered unplayable, or a bug that means the game cannot be played properly. Balance changes affecting a single role are not considered critical, even if it makes that role far more powerful than intended.
    • Temporary PRs which fix major issues should be testmerged. If the author is not available or willing to make the fixes required, the offending PR should be reverted.
  • All PRs should be considered as they are and will be treated as if they will have no more follow up PRs. If it does not provide a stable solution, it should not be merged.
    • If a PR has been merged and doesn't function as expected, the author will be notified and it will be reverted if the issues cannot be fixed within a few days.
    • Any other PRs that modify code added by a non-functioning PR should be frozen to allow for reversion.
  • Do not merge any pull request with config or SQL changes. Review and approve it then request a review from Crossed.
  • Do not merge any pull requests with the "Requires Approval" label. Review and approve it and then request a review from the Head Developer.
  • Do not self-merge a pull request, even if it has been approved by another maintainer.
    • If the merge queue fails for an unexpected reason unrelated to the PR, then you may re-queue it.
  • Do not unilaterally merge pull-requests that you were heavilly involved in the development of.
  • Do not unilaterally merge balance changes or any changes which need a review of their design.
  • Do not unilaterally merge PRs that have had a key placed on them.
    • If a PR has a key on it, then there should be a discussion about the PR before merge. If an consensus is not reached then it is up to the head-developer to make the decision.
  • Changes that affect balance or add features should be given time and discussed with other maintainers and contributors for opinions.
    • If a significant amount of time passes (Minimum of 2-weeks) and there has been no discussion, ping maintainers for comment and indicate the action that you wish to perform (merge/close). If there are no responses within 24-hours, then you may perform that action unilaterally. All discussion points should be resolved first, do not merge the PR if the conversation does not reach a conclussion.
    • If there are no strong opinions, then the PR can be put to vote (See below).
  • Any PRs that make substantial player-facing changes to the game should be signed off by the head-developer first. Any PRs which make substantial changes to the codebase which will affect how code is being written (changing a pre-existing coding convention) should also be signed off on first.
  • Maintainers specific to a single area of the code (Maptainer, Spritetainer) should only testmerge/merge PRs in their area.

Specific Policy/Processes

Large structural changes to the code

When a PR applies a large structural change to the code (Splitting a single file into multiple smaller files) that cannot be automatically handled by git's ability to rename files, a weak feature freeze will be applied to the area of the code being modified. Any PRs that edit some code inside of that structural area are frozen but may be merged if the author of the PR making structural changes has the frozen PR referenced in a comment on their github page with a message telling them that they need to apply some specific changes.

Any PRs that are frozen in this manner can be identified by the frozen tag and a comment explaining that merging must adhere to this process.

This process is to prevent splitting files from accidentally deleting changes if that PR has been left for a long period of time.

Maintainer Recruiting

Maintainers have a lot of trust placed upon them, and as such it is difficult to appoint maintainers. New maintainers are selected by the current development team and there is no formal application process.

Below are some important qualities that we look out for when trying to abduct recruit new maintainers.

  • At least a few large scale projects which implement a new, original and well-designed feature into the game.
  • High standard of coding and enough contributions in order to prove this.
  • Performed reviews on other contributor's code, highlighting potential issues with code and design.
  • Good communication skills, feedback given is easy to understand.
  • Some level of involvement in the community. The maintainer role is quite a highly trusted role and as such, some level of 'clout' is required.
  • Being a nice person to work around and communicate with.

We understand that not everyone will be perfect in every regard and there are a lot of things that go into the discussions of recruiting new maintainers. We won't veto a maintainer simply because they haven't made any good balance PRs that align with the game, we value, and need, a wide range of skills across our maintainer team.

PR Vote Procedure

  • Voting should generally be avoided unless the PR is player-subjective in nature (Sprite changes).
  • Do not put potentially contraversial PRs to vote without approval from the head-developer as these PRs are likely to cause drama if the outcome is chosen to be ignored.
  • Do not put your own PRs to vote, request a review first.
  • When subjecting a PR to a vote, apply the Voting label. Post a link to the PR in #pr-player-input. If the title does not provide all of the relevant info, include a short summary. If it's a sprite PR, include screenshots.
  • After 2-3 days check the status of the vote, remove the Voting label, and apply the relevant outcome label to the PR. If the vote is roughly split with no significant majority, use your discretion.
  • PR votes are non-binding, but you should typically get the headcoder to sign off on ignoring the outcome. The PR is liable to stir the hornet's nest and we want consensus that it's actually a good change.
  • The Headcoder reserves the right to ignore the voting procedures entirely.

In-Game perms

  • In game perms are primarilly for debugging purposes and should not be used to influence the rounds outside of testmerges.
  • Maintainers should be de-adminned while playing, unless there is a specific reason to be adminned.
  • That being said, influencing the rounds is a good way to test different design elements. Performing this kind of in-round modifications requires permission from an administrator or from the head-developer.
    • All round modifying actions should not affect the person performing them (You should be observing the round and not taking roles that you spawn).
    • All round modifications performed by maintainers should have a purpose rather than being for fun.
    • All round modifications should abide by the server rules, anything that appears in-character should only contain in-character information.
  • If you are deemed to be abusing the in-game maintainer perms, they may be temporarilly removed.
  • Maintainers should avoid interacting with players through the ticket system due to insufficient perms preventing them from being closed. Do not use Admin PM functionality. If you really, really need to talk to a player during a testmerge (due to a bug or other situation that needs explaining), use LOOC (Admins can talk in LOOC while ghosted) or ask another admin to help.

Head-developer

  • If the head-developer is temporarilly unable to perform their duties, then an acting head-developer may be appointed. The acting head-developer has all of the powers that a head-developer has for the rules stated above, but should avoid making changes to the established design directions.

Demotion Procedure

  • The Headcoder will 'fire' you.