Search the Community: Showing results for tags 'Management'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


    • Site Matters
    • Member Introductions
    • Chimera: General
    • SAPP: General
    • Halo CE: General
    • Halo CE: Development
    • Halo PC: General
    • Halo PC: Development
    • Halo MCC: General
    • Halo MCC: Development
    • General Gaming
    • Tech Chatter
    • Off-Topic


There are no results to display.

Found 46 results

  1. Script: Name Replacer Description: Change blacklisted names into something funny! During pre-join, a player's name is cross-checked against a blacklist table. If a match is made, their name will be changed to a random one from a table called "random_names". As random names get assigned, they become marked as "used" until the player quits the server. This is to prevent someone else from being assigned the same random name. UPDATED 18/09/2022 - Bug fix - This will now work on PC (retail) Name Replacer.lua
  2. A ping kicker with limits based on player count. See the settings below for more. -- config starts -- local PingKicker = { -- How often to check player pings (in seconds): -- Default: 5s -- check_interval = 5, -- Players will be warned this many times before being kicked: -- Default: 5 -- warnings = 5, -- Reset a player's warnings if their ping has been below the current limit for this many seconds: -- Default: 20s -- grace_period = 20, -- Default ping limit: -- Default: 1000 -- default_limit = 1000, -- Exclude admins from ping kicking? -- Default: true -- admin_immunity = true, -- Admins with a level >= this level will be excluded from ping kicking. -- Default: 1 -- admin_level = 1, -- Dynamic ping limit based on player count: -- Min Players, Max Players, Ping Limit: -- limits = { { 1, 4, 750 }, -- 1 to 4 players (if 750+ ping) { 5, 8, 450 }, -- 5 to 8 players (if 450+ ping) { 9, 12, 375 }, -- 9 to 12 players (if 375+ ping) { 13, 16, 200 } -- 13 to 16 players (if 200+ ping) }, -- This message will be sent to the player when kicked: -- kick_message = 'Ping is too high! Limit: $limit (ms), Your Ping: $ping (ms).', -- This message will be sent to the player if their ping has been -- below the current limit for the grace period: -- grace_period_expired = 'Grace period expired. Ping warnings reset.', -- Send this multi-line message to the player when they're warned: -- warning_message = { '--- [ HIGH PING WARNING ] ---', 'Ping is too high! Limit: $limit (ms), Your Ping: $ping (ms).', 'Please try to lower it if possible.', 'Warnings Left: $strikes/$max_warnings' } } -- config ends -- Dynamic Ping Kicker.lua
  3. Vote to kick disruptive players from the server. Vote command syntax: /votekick (player id) Vote list command syntax: /votelist Settings: -- config starts -- local VoteKick = { -- Command used to initiate a vote kick: -- vote_command = 'votekick', -- Command used to view a list of players who can be voted out: -- vote_list_command = 'votelist', -- Minimum number of players required to initiate a vote kick: -- Default: 2 players -- minimum_players = 2, -- Percentage of online players needed to vote yes to kick a player: -- Default: 60% -- vote_percentage = 60, -- A players votes will be reset if they're not voted out within this time (in seconds): -- Default: 30s -- vote_grace_period = 30, -- If a player quits and returns to the server within this time (in seconds), -- their vote will remain in vote kick tally: -- Default: 30s -- quit_grace_period = 30, -- If true, players will be able to vote anonymously: -- Default: false -- anonymous_votes = false, -- If true, a message will be displayed when a new vote kick has been initiated: -- Default: true -- announce_on_initiate = true, -- If true, admins will be immune: -- Default: true -- admin_immunity = true, -- A message relay function temporarily removes the msg_prefix and restores -- it to this when done: -- Default: **SAPP** -- prefix = '**SAPP**' } -- config ends -- Vote Kick.lua
  4. Server Logger: This script is intended to replace SAPP's built-in logger and will log these events: Join & Quit (script will also inform if player's hash is pirated) Game Start & End Script Load, Reload & Script Unload Global Chat, Team Chat & Vehicle Chat Commands (chat, rcon, console) Death Messages (disabled by default) Admin Login Map Reset Team Switch (disabled by default) Spawn (disabled by default) Warp This script will also prevent messages or commands containing sensitive information from being logged. See the config section for more information. ~ Edit [5/4/22 @ 18:06 NZST]: Updated with a small bug fix. Server Logger.lua
  5. What the script does: The script will log instances of players connecting using a vpn or proxy in the haloded directory under the filename vpn_log.txt It will also announce to all admins on the server when someone joins with a vpn or proxy The script enables the command /vpn <player index> for admins to check if a player is currently playing on a vpn or proxy The setup of this script requires web hosting, the sapp http client, and requires creating a free account on ( allows 1,000 free ip lookups per day) The web hosting needs support for PHP and needs to have the Curl module for PHP installed, it would be ideal to have web hosting with an ssl certificate to enable https:// communication The readme.txt goes into detail on the setup instructions, but doesn't include detailed web server setup instructions. Look for guides on how to install a LAMP web server on a vps, or use web hosting that allows ssh access. With ssh access, this script is valuable in enabling a free ssl certificate
  6. WordBuster is an advanced profanity filter mod that automatically blocks chat messages containing profanity. Features: Pattern matching algorithm to detect variations of words, like "asshole", "a$$hole", "assH0l3" or "a55h01e. Block bad words Supports multiple languages Warning System + Grace Period Customizable messages Commands: /wb_add_word (word) (lang) Add a word to lang file /wb_del_word (word) (lang) Delete a word from lang file /wb_disable_lang (lang) Disable lang file /wb_enable_lang (lang) Enable lang file /wb_langs Show list of langs Supported Languages: Chinese, Czech, Danish, Dutch, English, Esperanto French, German, Hungry, Italian, Japanese Korean, Norwegian, Polish, Portuguese, Russian Spanish, Swedish, Thai, Turkish, Vietnamese Install Instructions: Download and Word Buster.lua. Place the contents of in your server's root directory (same location as sapp.dll). Place the Word Buster.lua script in your lua folder. Configure settings to your liking in the settings.lua file located in ./WordBuster/ folder. Click to view release page
  7. Script: Name Ban Description: The most advanced name-ban script that exists. This script uses a pattern matching algorithm that matches all possible permutations of letters in a name based on the patterns table (see below). Video Demonstration: UPDATED ON 18/09/2022: Optimizations Name Ban.lua
  8. Halo 1 (PC/CE) Discord Bot (for SAPP servers) A Discord bot framework built using the Discordia API and Luvit runtime environment. - features - 1). Easily connect one (or more) Halo servers to a Discord server. -- 2). Sends a message to your Discord server when the following events are fired: Event Description ----- ------------------------ * event_join Player connected to the server. * event_quit Player disconnected from the server. * event_game_start A new game starts (shows map & mode). * event_game_end The current game ends (and shows who won). * event_chat Chat messages sent to defined global-channel. * event_score Message sent when player scores. * event_command Command logs sent to defined command-log channel. * event_death killed by the server, squashed by a vehicle, run over, betrayal, PVP, suicide, zombie-infect, first blood, guardians, killed from the grave, unknown. [note] The bot will ignore commands containing sensitive information (namely passwords). -- 3). Two-way chat integration - Send messages directory to the Halo server from Discord (and visa versa): Halo to Discord (as seen on Discord): [CHAT] Chalwk: This is epic! Discord to halo (as seen in-game): [Discord] Chalwk: This is epic! -- 4). The bot will feedback on the name of the winning player (or team) on Discord after each game. -- 5). The bot will automatically create and periodically edit an embedded status message. The embed will include the current map, mode, game type, player names and more. -- 6). Chat integration whitelist: Only users who have a specific role will be able to send messages to Halo from Discord. =========================================== FULL INSTALLATION INSTRUCTIONS AND UPDATES: DOWNLOAD PAGE Current version: 1.0.25 ===========================================
  9. This script is intended for use by script developers. This library lets you send rcon messages that appear for a defined period of time. Steps to configure. 1. Place 'Console Text Library.lua' in the server's root directory (same location as sapp.dll). Do not change the name of the .lua file. 2. Place this at the top of your Lua script: local ConsoleText = (loadfile "Console Text Library.lua")() 3. Place this inside the function registered to EVENT_TICK. ConsoleText:GameTick() 4. Creating a new message: ConsoleText:NewMessage(pid, m, duration, clear) pid = player id [number] m = message string or table of strings, e.g {string, string, string, string} duration = time [number] (in seconds) a message will appear on screen. clear = boolean [true/false] Clear this players rcon buffer prior to sending the string/table of strings. Example.lua Console Text Library.lua
  10. This is a utility for admins to get real time feedback of a specific player's botscore. aimbot_ban must be enabled for this to work. If you want to measure botscores, but don't want sapp to kick or ban any players put aimbot_ban 20000 4 1 in the sapp init.txt The admin_botscores.lua script enables 2 commands: /botscore [player index] use to show the botscore of a specific player /stopbotscore use to disable botscore messages for yourself You can configure the script to either output the messages to the halo console (default), or the halo chat, whichever you prefer. Each admin player can monitor any player including themselves. Here's a video showing how it works. I'm not using any cheating software in the video. I'm trying my best as a human to track a stationary player's head through a wall. EDIT: I've uploaded admin_botscores3.lua with new features: IMPORTANT: Using this script is will not guarantee catching someone who is cheating and there are lots of false positives involved with sapp's botscore detection. Within testing we've discovered that it's quite possible for a players botscore to go above 1000 during normal play while not using any cheats. It's important to figure out how sapp's detection works before issuing punishments based on botscores or snaps. Spectating or sightjacking is still highly recommended before making decisions. Using /botscore [player index] shows up in the console as a single line instead of the previous behavior of the botscore covering up lots of the visible screen area. I added snap notifications, but this often has false positives, so don't ban or kick players just because of one or two snaps being detected. It's best to observe the system for a while to discern false positive from real positive. If you are logged in as an admin there will be an alert system for every time a players score passes an increment of 500. For example if someone snaps and their score goes to 555 instantly a message will appear to admins that their score exceeded 500. Or if someone is tracking through walls and their score goes above 500 then 1000 the script will notify twice in that case. There is also a cool down effect so if someone's score was 1010 then it slowly drops to 400 then it goes to 555 it would notify again that their bot score went past 500. admin_botscores.lua admin_botscores3.lua
  11. Dynamic Scoring will automatically change the score limit depending on the number of players currently online. Supports custom game mode overrides. If your game mode is not configured in the score_limits table, the server will use the pre-configured game type table instead. Dynamic Scoring.lua
  12. This script will shuffle teams every few team games. It will shuffle teams only in the very beginning of the game (by default, after 5 seconds have passed and every three team games). It also provides admins with a command to manually shuffle the teams, which can be assigned to a custom command in commands.txt: shuffle_teams 'lua_call shuffler ShuffleTeams' 4 Know that shuffling teams will kill all players, not just the players who are changing teams. Download (SAPP): shuffler.lua
  13. This script will periodically announce defined messages from an announcements array. You can manually broadcast a message from this array with a simple command (see below). /broadcast list (view list of available announcements) /broadcast [message id] (force immediate announcement broadcast) Download Page
  14. This script would be to send Halo messages to a specific Discord channel, it also serves to make a command log by sending the command that was used to a Discord channel. This script can also send any message in real time but that could be a problem for the server connection as it would send a lot of webhooks. Here I leave the download link, in the link come the instructions on how to install it. Logger: Reports: Realtime Chat:
  15. Made at the request of @CartmansPieHole This script will changed anyone who joins your server's name to something else if their name contains something in a list of banned words/characters. Server moderators can use this to ban bad words in names or just names you don't like. This will log a message to the console when a players name is changed. Download: Video: Credits: OnNameRequest by @Devieth badwordsarebad by @Kavawuvi BannedNameChanger.lua
  16. This script can execute commands when a player joins, based on the player's IP location. Note that IP locations are not always accurate. Requires wget.exe to be in the same directory as halo[ce]ded.exe Wget is a free software package for retrieving files using HTTP, HTTPS and FTP, the most widely-used Internet protocols. It is a non-interactive commandline tool, so it may easily be called from scripts, cron jobs, terminals without X-Windows support, etc. DOWNLOADS: Wget (32-bit 1.16.3) SAPP Script
  17. map_download.lua script to replace/take place of SAPP's deprecated map_downlaod command. //Edit: Script version bumped to 2.0 -- Changes: '7z.exe is no longer used due to unwanted behavior, has been replaced by unzip.exe' 'Script can now download dependent unzip.exe and wget.exe using powershell upon load (should be compatible with powershell 2.0.) Default source is me at, it is possible to change at the top of the script.' //Notes: 'Still using wget because downloads via powershell alone would run along side the server (better for performance, bad for checking if the map actually downloaded afterward. Pastebin: Github: Search for available maps @ Commands: map_download <map_name>
  18. This script is intended for use on public servers. It is best used within a group of players that have trust among each other. The script is triggered by a slash command from halo chat like /register <password> or /unregister <password>. The password is configured in the script, and is the same for anyone who registers. For added security the command names "unregister" and "register" can both be changed in the script configuration. If you run a public server and have a group of people you know that often visit, then you can give that group this method of registration. If someone were to join with their name without it seeing their registered IP address the server would announce that they are a possible imposter. They would be automatically kicked within a configured time (20 seconds by default). The time limit is set to allow players with dynamic IP addresses to re-register their new IP. Which some may not want to register to begin with because it will become a hassle. Anonymous players that join will be unaffected as long as they do not attempt to impersonate someone who has registered. To them this script will be more or less invisible other than the messages it sends to all players. A name can be registered to as many IP addresses as necessary. When someone unregisters their name, all IP addresses associated with it are cleared from the match list. This script is only as strong as the people in the group who use it. If you intend to use this then keep in mind that the password may leak to parties that you do not wish to have it. The configuration section of the script is commented to give an idea of what each option does. This has been an issue believe it or not where an anonymous player joining as someone else and acting and chatting similar to what the real person would do. This does not ensure that will never happen due to the human element of using a password, but it's a good countermeasure against that type of trolling. This is basically a dynamic block / allow list based on IP address controlled from a slash command and password from within halo Use /register <password> to register your name to your IP Use /unregister <password> to no longer keep track of your name Both /register and /unregister can be changed to different command names to add extra security This may not be worth the effort for some, but if it's a legitimate problem then this script works as a solution, even if it can be a hassle. There may be some bugs, it would be cool if you posted them here so I can fix them when / if they do happen. Also I probably or maybe missed something important in the code, but it's my first release on OC FTW. Also I welcome improvement upon this or new ideas or angles on mitigating this type of problem. I'm probably just lazy so this is the best I could come up with for now. clan_register.lua
  19. So I created a Discord bot that will allow you to run console commands from Discord. First thing is you will need to set up a bot with Discord and copy its Token over for use in the Discordia Script. When inviting your bot, do not give your bot administrative privilege, this is to make sure you make it so the bot can only read messages from admin channels by specifically adding that bot to category permissions or per-channel permissions. Here are the permissions you want to give it: How to invite your bot: ____________________________________________ After that you will need the Discordia + Bot package [ discord.lua ] and the server side script [ discord.lua ]. Setting up the Discordia bot: 1. Unzip the onto the same system your server is going to be running on. 2(a). Open the haloce.lua in the, at the top you should see this: -- Set up bot local bot_prefix = ">" local bot_token = "YOUR_BOT_TOKEN" -- Path to haloceded/haloded(s) local servers = {} servers['ce01'] = {"C:\\Users\\Gigabyte\\Desktop\\CE_Test", '-path "C:\\Users\\Gigabyte\\Desktop\\CE_Test"', "haloceded.exe"} --servers['ce01'] = {"C:\\Users\\Gigabyte\\Desktop\\PC_Test", '-path "C:\\Users\\Gigabyte\\Desktop\\PC_Test"', "haloded.exe"} 2(b). Take the bot token you got from your discord developers page and paste it in replacing `YOU_BOT_TOKEN`, and make sure that the quotations are still around it. 2(c). Now below `servers` you will want to set your server short-name (in my case it was ce01, so `servers['ce01'] =`). Set the server path, launch arguments, and executable name as well. (The second line is an example how to do a HaloPC server, or add another server.) NOTE: You cannot have 2 servers with the same short-name like I did by accident. 3(a). Take the discord.lua and paste it into your SAPP server's lua folder. 3(b). Remember to add `lua_load discord` to your SAPP init.txt. 4(a). Open t he discord.lua, at the top it should look like this: -- Path to Discordia bot. local discordia_path = "C:\\Users\\Gigabyte\\Desktop\\luvit\\" -- Path to read commands from. local command_file_path = "\\ce01\\command.txt" 4(b). For discordia_path, put the path were you have the the bot unzipped to, like shown above. 4(c). For command_file_path you need to put the server short-name where I did otherwise the server will not be able to pick up commands. 5. Start your Halo server + the bot (using the start_bot.cmd) Preview of how it should work when set up correctly:
  20. Admin Chat enables admins to chat privately in a custom text channel. Admin Chat.lua
  21. This script will periodically change the name of the server. The default interval between name changes is 15 seconds. There is an array with multiple server names in the config section. Repeat the structure to add more entries! SCRIPT DOWNLOAD
  22. This lets you specify coordinates to spawn weapons. Currently you'll have to use a delay on the event but if its possible to extend the time before a weapon despawns I will add that later on. Should resolve the duplicate weapon spawning issue, hopefully. Video: Download: WeaponSpawner.lua How to Use: Must load the script first. Adapt the follow events (put in events.txt) event_start $map:bloodgulch 'w8 2;cevent shotgun1' event_custom $ename:shotgun1 'lua_call "WeaponSpawner" "spawnWeapon" "weap" "weapons" "shotgun" "shotgun" "97.73" "-155.51" "2.31";w8 32;cevent shotgun1' WeaponSpawner.lua
  23. Allows you to execute a map reset command after a specified amount of time with the server being empty has elapsed. Download:
  24. This script does as it says, it spoof's scrim_mode being on. This is because scrim_mode is flawed for many reasons, one of which made this script possible. The idea of scrim_mode was to disable SAPP's cheat commands from being used by server admins in, scrims/competitive matches, but many people have found many ways around this in the past. The bonus of scrim_mode being on is it blocks all other Lua scripts from running, including ones that fix issues in the game, allow new game modes, and more. But with this script, if you type `/info` in chat, it will say scrim_mode is on, even when its not. That is as long as you do not enable scrim_mode within the init or sapp's init. spoof_scrimmode.lua
  25. So it was brought to my attention about a month ago that people were using HAC2 and Chimera (-572 and its derivatives, including mine) to cheat by setting their tickrate to 31-35 (30 = default, 36 and above and Halo's built in speed_hack_detection kicks in and ignores packets.) Today an idea popped in my head about a memory location I abused in the past to freeze players, checked the area around and sure enough, a counter that well, counts the number of updates it gets from the client, and my anti-speedhack was born.