Giter Club home page Giter Club logo

gm_abun's Introduction

Ohayo! ๐Ÿ‘‹

  • ๐Ÿ˜„ Pronouns: She/Her
  • โšก Collab with me on game design projects!
  • โ†—๏ธ Website: https://mirai.red/

Wishlist! ๐Ÿ’ธ - (Buy me stuff ;w;)

  • XSOverlay (Application) @ [link] via steampowered.com.
    • Thanks MBRound18 you are the best! โค๏ธ

Contact Me!

Profile Banner

gm_abun's People

Contributors

nanoai avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

gm_abun's Issues

Tags System

Tags work like mini-groups but can be assigned to anyone in any group. These can be used to for example allow players to unlock tools over time.
Tags can also override groups and be set for a limited time; for example the Probation tag will deny all permissions as if the tagged player is a user, and will expire after a preset time.

Think of it like this... (This admin mod doesn't have chat tags this is just a visual representation.)

[User] Henry [Probation] <- Has been banned before and is on probation, this user will be limited.
[User][VIP] James [Builder] <- Has access to tools that others don't have access to. (Obviously admins don't need this tag.)
[Admin][Trial] Sophie [Builder, Coder, Probation] <- An admin that has been either banned or put on probation their actions will be limited until their probation period is over, or the tag is removed.
[SuperAdmin][Trusted] Jenny [Coder] <- Can use LuaDev commands.
  • Base Tags Done.

Probation

The probation tag is an optional tag that will be assigned to players that have been banned. This will allow server owners to set limitations on those players. For example a player on probation will have to wait longer between prop spawns and have a lower prop limit then anyone else.

  • Advanced Tags Done.

SQL

Whenever user data is stored or edited it should be saved via SQL.
Things that should be handled in SQL are Warnings, Bans, Groups, Tags, and Access.

GroupsTags
User Group SubGroup
SteamID64 Admin Trial
User A B ...
SteamID64 Builder Coder ...
PermissionsTagPermissions
uid Group ParentID can_kick can_ban ...
1 Admin 0 true true ...
2 Trusted 1 true true ...
uid Tag tool_remover can_lua ...
1 Builder true false ...
2 Coder false true ...
  • Groups with a ParentID inherit all permissions from their parent.
  • Tags can be assigned and stacked onto any user.
  • Prefixes... can_ is for permissions, tool_ is for tools.

Logs should not be stored via SQL!

Admin Sit

Logs involving the target player get collected and displayed to the admin that has started the sit, players can choose to accept when they want to enter the sit or are force into it by the admin.

When in the sit players are visually marked, frozen, blinded, and enter a chatroom with voice chat.

From there an admin can add more people, remove people, mute people, etc.
Players will get 3 seconds to reorient themselves before being unfrozen.

Reports System

When a report is made a screenshot of the reporters screen (sending is optional) along with some information about them and what they are looking at is collected, all admins get notified about the report.

When opening a report an admin will be able to see the logs (from the hour the report was made), a screenshot (if attached), and basic information about the reporter, what was in their fov, and the reportee.

An admin can choose to respond to the report, start a sit, or punish the players involved.

ABUN - Startup Guidelines

SQL

Whenever user data is stored or edited it should be saved via SQL.
Things that should be handled in SQL are Warnings, Bans, Groups, Tags, and Access.

GroupsTags
User Group SubGroup
SteamID64 Admin Trial
User A B ...
SteamID64 Builder Coder ...
PermissionsTagPermissions
uid Group ParentID can_kick can_ban ...
1 Admin 0 true true ...
2 Trusted 1 true true ...
uid Tag tool_remover can_lua ...
1 Builder true false ...
2 Coder false true ...
  • Groups with a ParentID inherit all permissions from their parent.
  • Tags can be assigned and stacked onto any user.
  • Prefixes... can_ is for permissions, tool_ is for tools.

Logs should not be stored via SQL!

Tags

Tags work like mini-groups but can be assigned to anyone in any group. These can be used to for example allow players to unlock tools over time.
Tags can also override groups and be set for a limited time; for example the Probation tag will deny all permissions as if the tagged player is a user, and will expire after a preset time.

Think of it like this... (This admin mod doesn't have chat tags this is just a visual representation.)

[User] Henry [Probation] <- Has been banned before and is on probation, this user will be limited.
[User][VIP] James [Builder] <- Has access to tools that others don't have access to. (Obviously admins don't need this tag.)
[Admin][Trial] Sophie [Builder, Coder, Probation] <- An admin that has been either banned or put on probation their actions will be limited until their probation period is over, or the tag is removed.
[SuperAdmin][Trusted] Jenny [Coder] <- Can use LuaDev commands.

Probation

The probation tag is an optional tag that will be assigned to players that have been banned. This will allow server owners to set limitations on those players. For example a player on probation will have to wait longer between prop spawns and have a lower prop limit then anyone else.

Admin Sit

Logs involving the target player get collected and displayed to the admin that has started the sit, players can choose to accept when they want to enter the sit or are force into it by the admin.

When in the sit players are visually marked, frozen, blinded, and enter a chatroom with voice chat.

From there an admin can add more people, remove people, mute people, etc.
Players will get 3 seconds to reorient themselves before being unfrozen.

Reports

When a report is made a screenshot of the reporters screen (sending is optional) along with some information about them and what they are looking at is collected, all admins get notified about the report.

When opening a report an admin will be able to see the logs (from the hour the report was made), a screenshot (if attached), and basic information about the reporter, what was in their fov, and the reportee.

An admin can choose to respond to the report, start a sit, or punish the players involved.

Logs

Logs should contain kills, spawns, damage, commands, bans, kicks, joins, etc.
Pretty much if it happens on the server there should be an option to log it.

Whenever the server attempts to get logs it will only look for logs within the last 24 hours. Delays for the logs being displayed on a client should be accounted for, large amounts of data should never be sent to a client all at once.

Commands

Will be checked as they are done!

  • kick (Kicks players from the server.)

  • ban/unban (Bans players from the server with options for time and reason. Sets the probation tag to the players.)

  • sban/unsban (Marks players so that they are banned when they leave the server, optionally applies configurable limitations.)

  • bubble/unbubble (Traps players in a floating bubble and prevents them from doing anything besides looking around. Allows to specify the amount of time players are trapped for.)

  • warn/unwarn (Warns players with a notification, and a message that they can view at any time. Removing a warning from a player requires the warning ID.)

  • watch/unwatch (Puts a player on a watch list, this extends to Steam shared accounts and the IP.)

  • report (Allows players to fillout a report on another player a screengrab of the client is taken when the command is used, including the image is optional.)

  • ac/@ (A chat that only players with the correct permissions can see.)

  • hp (Set the HP of yourself or other players, allows setting armour as well.)

  • kill (Slay the target players, has an option to silent slay.)

  • respawn (Respawn the target players, has an option to simply teleport to spawn.)

  • goto (Teleport to a MapDefined location or to a player.)

  • bring (Teleport players to yourself.)

  • spectate (Allows targeted spectating, as well as free roam, has a toggle to trigger on noclip command.)

  • reconnect (Reconnects a person to the server.)

  • cexec (Runs a command in the targets console.)

  • adduser (Adds a user to a group and/or subgroup.)

  • removeuser (Removes a user from a group and/or subgroup.)

  • addtag (Adds a tag to a user.)

  • removetag (Removes a tag from a user.)

  • noclip (Allows you or the target to noclip, does not toggle noclip unless 2 is passed.)

  • freeze (Freezes players.)

  • sit (Starts an admin sit with a player with options to force them into the sit.)

Logs System

Logs should contain kills, spawns, damage, commands, bans, kicks, joins, etc.
Pretty much if it happens on the server there should be an option to log it.

Whenever the server attempts to get logs it will only look for logs within the last 24 hours. Delays for the logs being displayed on a client should be accounted for, large amounts of data should never be sent to a client all at once.

  • Basic Logs
  • Log organization/grouping
  • Advanced Logs

Groups System

Groups work by assigning a player to a main group as well as a subgroup. A subgroup inherits all of the main groups permissions but also allows to set additional permissions onto it.

It's easier to think about it when displayed visually...

User -> {Respected, VIP, Moderator}
Admin -> {Trial, Trusted}
SuperAdmin -> {Trial, Trusted, Owner}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.