What happened to OC? - CLOSED Carnage?!


  • Content count

  • Joined

  • Last visited

  • Raffle Tickets


About Devieth

  • Birthday 04/12/1995

Extra Information

  • Gender
  • Location
    Wisconsin, USA
  • Contributed
    $25 (US) to Open Carnage
  • Raffle Victor

Contact Methods

  • Steam
  • Gamertag
  • PSN

Computer Details

  • Central Processor
    Intel i7 8700K @ 4.8Ghz
  • Motherboard
    Asus ROG Z370-H
  • Graphics
    Gigabyte Nvidia GTX 1080 Ti
  • Memory
    16GB DDR4 @ 2400Mhz
  • Storage
    256GB 850 Evo, 520GB Crusial SSD, & 1TB 7200RPM WD Blue
  • Power Supply
    Rosewill Photon 850
  • Case
    NZXT H440 - Red
  • Display
    AOC G2770PQU - 1920x1080 @ 144hz
  • Keyboard
    Rosewill RGB80
  • Mouse
    Razer Deathadder Elite
  • Operating System
    Windows 10 Pro

Recent Profile Visitors

7,312 profile views
  1. SAPP's is about as good as it gets, its not 100% prefect. I have written a script for it that doesn't have some the bugs SAPP's system does but its also overly sensitive. Try it at your own risk, its in an unfinished state and some of commenting is wrong, I would recommend leaving it at its default settings and only let it kick players. https://pastebin.com/8UnVDP83
  2. Releasing the server source, I cannot continue to work on this at the time. Server: halopc.lua This requires Luvit: https://luvit.io/install.html To run the script place halopc.lua, crc32.lua, and lua_table.lua in the folder you place the luvit executables in. After that open a CMD window in that directory and run it with `luvit halopc.lua`. If you want to send request to this you will have to open up port 80 (or you can change the listen port in the script and open that port instead.) Also make sure coro-http is installed by running: `lit install coro-http` (again in a CMD window with the folder path you have luvit installed.) Edit: coro-http is required but not used, i forgot to remove this from the script, you can comment out line 2 and not install coro-http and it should work fine. Note: This cannot run on linux, it is running windows commands to get the working directory which do not work. Even if you manually set this, the linux version of luvit tends to halt for no reason after a couple hours (at least on Ubuntu.)
  3. I can set up ssl but it would take some work. Not on the plans until things are finished. Also idk what EGS does, not of fan of them for multiple reasons. Feel free to register your server on the site and try though. If its on windows server it will try to download wget and everything, it it doesn't work well, the script will just error out.
  4. Yeah Kavawavi made an ffi module, it only has http get. I would just need one for doing post request. Using post because it is a better way of sending of the data then having it in the url of a http get request. Like I said, lag caused by it at the moment is not a huge concern but, the script for the server side is open source so someone could integrate their own Also if people set custom UUID's I don't care, and if they share a UUID with another player well that's only going to impact their individual stats. What I do care about is if servers send false match data, which is why servers have to register to be on the whitelist, and if they send fake data I can move them over to a blacklist. Right now registering is still a thing but the blacklist is disabled, as this is like alpha stage and I just want to see some data come in first. Also thinking of this made me remember I forgot to include the json library. Need to update the main post.
  5. UUIID as I said above is based on the HWID of the users C: drive, which is 100% unique between every player. The UUID pulled from the Lua script for Chimera (and is compatible with the new chimera and older versions) is based on the the Windows system UUID. Both are hashed then converted into a number on the API. The lag with powershell and wget is minimal, about a second or so as long as the API responds somehow (either with 200 OK or otherwise, also put timeouts inside of the commands of 5 seconds.) Also I have the requests go out on `EVENT_GAME_END` so no one is going to be lagging around in-game and it shouldn't drop the connection to anyone. I was looking into making a ffi module that would be a multi-use http request system (POST, GET, PUT, ect.) Anyway you could use this API to make a readable webpage so people could look up their stats. I am not great with html/js so I didn't even bother to try and write that part.
  6. The api source? No not at the moment. While I am able to host it I may keep it private. Having multiple sources running it would be kind of annoying. I will also still be adding more when I can (updating the server script or the api so you could search match history by server instead of by player.) The sapp server script, its non-compiled Lua script. The custom chimera, no. It was originally part of an defunct anti-cheat I wrote. It grabs the HWID of the C: drive.
  7. Today I am launching a very alpha version of a stats api for SAPP servers. If you run this script it will send back stats of all players (current and past) to the API server at http://api.halopc.com/stats/. Here is the script for the SAPP server: stats.lua Setting up the script: If you are on Windows server 2016 or newer, you can set `use_powershell` at the top of the script, all though this will make almost no difference. If you are on older versions of Windows do not change this setting, the script will attempt to download wget.exe to use that instead using commands that are compatible with powershell 2.0. If you are on wine you will have to download wget.exe and place it next to your haloceded.exe. Next you will need to download this: json.lua, place this lua script next to your haloceded.exe, this is required. (The server will try to download this with the current version uploaded on 6/15/2021. If it fails download it manually from here.) What data is collected: IP, hash, name, score, kills, assists, deaths, betrays, suicides, weapon stats, time played (in seconds), other gametype stats, and server details. How is a player tracked: Within the server, hash. With the API, IP or a custom UUID that be sent with a custom version of Chimera (based on -572) or with a script for Chimera. UUID is hardware based. Note: The script version will open a cmd window for a moment after launching Halo, if this is annoying I recommend using the custom version of chimera. Note2: Player IPs and Hashes are not exposed in the API. Registering your server: Severs must register their IP in order to send stats to the stats API, this can be done at http://api.halopc.com/register. Servers found sending modified player stats will be blacklisted. Polling stats: Stats can be pulled from the API in two ways, as a Lua table (http://api.halopc.com/stats/raw?lua) or as a Json string (http://api.halopc.com/stats/raw?json) If there are any issues please let me know, I can be found on the OpenCarnage discord server, feel free to @ me. Sorry if this post is kind of messy. Files in post: uuid.lua json.lua
  8. You have to allow hash duplicates, which is something that you may have to find a script to patch. Phasor has a script that does this for it as well, as the base mod only disables cdkey checking but duplicate checking. The fix is simple but I don't have the 1.10 address on hand otherwise its this added to any script in the OnScriptLoad section: write_bit(hash_duplicate_patch_address, 0, 0) `hash_duplicate_patch_address` has to be replace with the address, I am guessing someone else here may have the 1.10 address.
  9. Updated the script to version 2.0. Script should now download maps more consistently. Now automatically downloads required files for downloading and extracting. Removed options for downloading outside of hac2_repo.
  10. If you can get socket to load on SAPP you may be able to get it to load in Chimera. SAPP can put out errors without crashing.
  11. Ahh. Also think you mentioned luasocket, not sure if it would work for you, but try installing Lua modules in the executable (haloce.exe) directory using luarocks? That part of Chimera's Lua was not really set up to point to something like `chimera/lua/global/modules` unfortunately. Good chance it still wont work though. Neat project though.
  12. You could use something like this: local file = io.open( "%username%\\Documents\\My Games\\Halo CE\\chimera\\lua\\global\\health.txt", "w" ) That way it will target what ever user the current system is on all Windows systems. Not sure how to implement such a thing on Linux though, as there you are pointing to the `z:` drive? This would want to point to wine's `c:` drive.
  13. This is something that @Chalwk's project reminded me that I wanted to do when I first discovered Discordia (Lua API for Discord.) So actually a good amount of thanks to him that I even made this. Probably a lot more simple that what he's doing. Discordia is pretty awesome and I been writing bots with it for a couple months now.
  14. Just this morning. Been thinking about it for a while now, and someone else's interest in it made me want to do it.
  15. 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. https://discord.com/developers/applications 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: https://discordpy.readthedocs.io/en/latest/discord.html ____________________________________________ 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 luvit.zip onto the same system your server is going to be running on. 2(a). Open the haloce.lua in the luvit.zip, 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: luvit.zip