What happened to OC? - CLOSED Carnage?!

Ryx
Member-
Content count
578 -
Joined
-
Last visited
-
Raffle Tickets
0
Reputation Activity
-
Ryx liked a post in a topic by Takka in What the FUCK happened to OC? - CLOSED Carnage?!
What a shitshow... there's no way to tell this story without giving a lot of credit to whoever began DDoSing the forum back in April of '22, but that was only the beginning of the drama that got us to this point. I unfortunately wasn't able to speak candidly about most of the events since the beginning of the attacks, but that's no longer an issue, so this thread will serve as the explainer.
For those that don't want to read the drama dump that follows, the short of our current status is that the site is back and there are no plans to abandon it. However given the decline of forums in general, and due to the loss of trust that inevitably followed the long period of outage, loss of community data, and lack of transparency provided by myself, Open Carnage is not returning as a "live" site. OC is in a read-only state for the most part. For the next few months or so, existing members can edit their content if they wish to provide any updates that were lost. Anything on OC after April 18th of 2022 is otherwise gone.
Discord Server
Our Discord server has never been known for its modding discussions. It's served as a general chatroom for the long-time members of the OC community, and made it easy for anyone to keep up to date on new community content. That latter utility is effectively gone with the closing of the forum, and just about any subject for a Discord server can still keep friends together. So what's next? I don't know, but we'll probably try doing something new with it. I'll talk with you guys there!
-
Ryx liked a post in a topic by Conscars in Alpine
Alpine is a large outdoor map with asymmetric bases, designed around CTF and Race but supporting all game modes.
Credits to Jesse for the HUD and Refined project for the base tagset used.
More info and map sources: https://github.com/csauve/alpine
Download mirror: https://t3hz0r-files.s3.amazonaws.com/halo/releases/alpine/alpine.zip
Vaporeon's fork with better quality lightmaps and textures (MP compatible): https://github.com/Vaporeon/alpine
alpine.zip
-
Ryx liked a post in a topic by WaeV in Halo PC/CE Server Browser Screenshot?
I vaguely remember the community being somewhat fragmented by version number.
-
Ryx liked a post in a topic by Zatarita in *UPDATE* SuP 0.2.0 - s3dpak extractor
See next post for v 0.2.0 information
Sabre unPacker is a program that will extract the contents from a s3dpak file (and with future updates hopefully other sabre files) Icon is still being developed.
Currently it's in beta version. If there are any features you want to see added, just put them in the comments.
To use the program simply open a *compressed* s3dpak file
ceaflate will decompress the file and add it to the TMP directory.
Select the files you wish to extract, and select a location for them to go.
profit.
I hope this is a good step towards helping research the engine a bit more.
future plans are to repack, and add the ability to read ipak
Big thanks to Kavawuvi for letting me use ceaflate.
Source
License: GNU GPL v3
SuP 0.2.0.rar
-
Ryx liked a post in a topic by Nickster5000 in Halo CE: Raids
More info here: https://github.com/Nickzster/Halo-Lua-Projects/tree/master/Raids
Hey everyone, so I've been working on this with my bud Ender (GoldyDeWise) for the past couple of weeks, and I think it is in a good state to demonstrate. You can watch the video here:
Feel free to leave any feedback or suggestions!
Documentation, copied from the github page:
What is Raids?
Raids is a dungeon-styled gametype for Halo Custom Edition, in which players must work together to defeat bosses. Classes
Each class in Raids serves a function that is essential to killing the boss. Each class has a set of weapons to choose from, and an ultimate ability. Players can also use equipment to enhance their player with passive effects, like damage boosting, damage reducing, dodging, and critical strike chance. Spartan (Tank)
Purpose: To hold agro, and have the boss attack them Max Health: 500 Ultimate Ability: God mode for 10 seconds Ultimate Ability cooldown: 90 seconds. Medic (Healer)
Purpose: To heal other players Max Health: 100 Ultimate Ability: Heal all players nearby to full health. Ultimate Ability cooldown: 75 seconds. Special Notes: Healers can shoot friendly players to heal them, and shoot bosses to deal damage. Soldier (DPS)
Purpose: To deal damage to the boss. Max Health: 100 Ultimate Ability: Bottomless clip for 10 seconds. Ultimate Ability cooldown: 60 seconds. Valiant (Gunslinger)
Purpose: To deal damage to the boss from a distance. Max Health: 100 Ultimate Ability: Active camoflage for 30 seconds. Ultimate Ability cooldown: 90 seconds Special Notes: Is an elite. Bandolier
Purpose: To deal sustained damage to the boss. Max Health: 100 Ultimate Ability: Fill all nearby player's ammo to full capacity Ultimate Ability cooldown: 75 seconds. COMMANDS
/class <classname> | changes your class to <classname> /loadout <primary> <secondary> | changes your current class's loadout to <primary> and <secondary> /equip <equipment> | equip <equipment> to your player /ult | Activates your ultimate ability. You can press flashlight key to activate this now! /greed | Perform a greed roll for a boss drop. /need | Perform a need roll for a boss drop. /whoami | Prints your current class /moreinfo <item> | Read more information about a specified item in the mod
RAID SIZES
The raid will automatically scale depending on the number of players present. Here are some metrics you can expect depending on the number of players Extra Small Raid
0 - 3 players 1 Tank Allowed 1 Healer Allowed 1 Bandolier Allowed Boss Health is scaled at 1.0 normal health. If a boss has 1000 health, then the boss will have 1000 health in an extra small raid. Small Raid
4 - 5 Players 1 Tank Allowed 1 Healer Allowed 1 Bandolier Allowed Boss Health is scaled at 1.5 normal health. If a boss has 1000 health, then the boss will have 1500 health in a small raid. Medium Raid
6 - 10 Players 1 Tank is allowed 2 Healers are allowed 1 Bandolier is allowed Boss Health is scaled at 3.0 normal health. If a boss has 1000 health, then the boss will have 3000 health in a medium raid. Large Raid
11 - 12 Players 2 Tanks are allowed 2 Healers are allowed 1 Bandolier is allowed Boss Health is scaled at 5.0 normal health If a boss has 1000 health, then the boss will have 5000 health in a large raid Extra Large Raid
13 - 15 Players 2 Tanks are allowed 2 Healers are allowed 2 Bandoliers are allowed Boss Health is scaled at 10.0 normal health If a boss has 1000 health, then they will have 10,000 health in an extra large raid. Crates
Crates are physical entities that players can find in the map. They come in three different flavors: Iron Crate
Drops Equipment based items. Gold Crate
Drops Armor based items. Crystal Crate
Drops Weapon based items. -
Ryx liked a post in a topic by Kavawuvi in Invader
I've gotten back to working on Invader and I've made a bunch of improvements lately. Here is a short list:
1. The file size in the header is no longer set.
Setting this is actually a bad idea because Halo PC, for some reason, opens up the map multiple times if the value is at least 128 MiB (this leaks and eventually Halo will max out in file descriptors). Also, Halo will only load maps where the file size in the header is less than 384 MiB. Therefore, not setting it means the map file size limit is now 4 GiB and Halo will only open the map once as expected.
2. Scripts work.
Scripts in the game work now. There may still be some work to be done here, but levels like The Pillar of Autumn no longer crash and play properly.
3. Nearly every tag class is implemented.
Most maps should build now.
4. Doors work properly (mostly).
No more doors rapidly opening/closing. That said, there is still an issue with the door in The Pillar of Autumn in the first room. If the engineer reaches it before you reach it, then the door never opens. I'll be looking into fixing this.
5. AI works (mostly).
The .actor and .actor_variant tags are properly compiled. However there are some issues with how they behave, and many AI will stay in place and not move around behind cover.
I've also fixed T-posing issues for most encounters but this isn't 100% fixed.
6. BSP tags with mirrors build.
Basically, The Silent Cartographer and Two Betrayals build now.
7. Animations work [better].
Many animations that didn't work properly (e.g. certain stock and custom animations such as reload animations) now work properly.
tl;dr: Every stock map now builds. It's not perfect (yet), but they are playable and you can probably complete the game using only Invader-built maps.
As before, you can get Invader's source code on GitHub. It's still in early development and will not be released in binary (.exe) form for a little while longer.
-
Ryx liked a post in a topic by Enclusion in Renaming Players if Bad Words Detected In Name
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: https://raw.githubusercontent.com/TagiaNetwork/SAPP-Scripts/master/BannedNameChanger.lua
Video:
Credits:
OnNameRequest by @Devieth
badwordsarebad by @Kavawuvi
BannedNameChanger.lua
-
Ryx liked a post in a topic by Kavawuvi in Hosting Halo PC with 32 Player Slots
It's obviously fake. Do NOT do it.
Here's why it's fake: Halo allocates a fixed amount of memory for players and player machines. Because they only allocate exactly enough for 16 players and player machines, you'd need a heavily modified server AND client for it. Such things do not exist (to my knowledge), and if they did, I doubt you'd find 31 other people with it.
Even if it wasn't fake, there aren't any maps that would be good with 32 players, let alone even work with them. Most stock maps would run out of spawns, so you can kiss your dreams of 32-player Chiron TL34 or Blood Gulch goodbye here. And no, meme maps like Coldsnap and Extinction won't work with 32 players either. The only reason these maps are large is because they have vast amounts of empty, useless space. As a result, these maps end up being terrible even with 16 players. Bigass won't be good, either. It may be big, but most of the terrain is just empty and hilly. People will just crowd the bases, assuming there are even enough spawns for 32 players.
Personally, I think it's a bad idea and that you will obviously get ripped off if you do it. But if you want to foolishly throw money away for a service that they cannot give you, go right ahead. Be my guest. At least when you complain that it doesn't work, it'll be on the Internet and people will know to stay away from them in the future. Or, of course, you did the smart thing of not doing any business with them.
-
Ryx liked a post in a topic by Sunstriker7 in Working dedicated server for Halo Trial
Logs... logs everywhere...
-
Ryx liked a post in a topic by Takka in Working dedicated server for Halo Trial
Excellent! The ghosts of the past will love this lol
-
Ryx liked a post in a topic by Vaporeon in Working dedicated server for Halo Trial
This is way way wayyy to late but never the less it turns out there is a way to run a dedicated server on Halo Trial with the 1.10 master server. It's done by editing the 1.02 retail PC server exe to report itself as the demo version. With a pair of specially built maps to match trial's tag index ids, it works!
If wish to try this you will want this build of Chimera for use in Trial, this will restore the master server functionally among many other things. thanks to @Kavawuvi
A download for the modded server is here.
-
Ryx liked a post in a topic by giraffe in Disable ammo pickup
You can try this: https://pastebin.com/bcRW1wzT
-
Ryx liked a post in a topic by Kavawuvi in SmG ruined Halo
http://www.gametracker.com/server_info/72.83.240.171:2578/
"This server has been detected to report fake or idle clients and it is not eligible to be ranked."
Looks like almost all of them are NR (not ranked).
-
Ryx liked a post in a topic by Modzy in .map documentation
Here are some somewhat trimmed source files I've written this year for the Halo cache file:
#ifndef HDATA_H #define HDATA_H /* ** hdata.h ** Andrew Burnett 2014 (Modzy) ** Halo basic data types ** BloomEngine source */ #include <stdint.h> #include <cstdio> #include <string> using namespace std; struct blockPointer{ uint32_t blockCount; uint32_t pointer; char editorData[4]; //only used internally by Guerilla. } __attribute__ ((packed)) ; struct ident{ uint16_t id; uint16_t tagNumber; } __attribute__ ((packed)) ; struct reference{ uint32_t tagGroup; //Or 'first class' uint32_t namePointer; //Memory pointer to tag name/file path char referencePathLength[4]; //only used internally by Guerilla. ident id; } __attribute__ ((packed)) ; #endif #ifndef CACHE_H #define CACHE_H /* ** cache.h ** Andrew Burnett 2014 (Modzy) ** Halo cache file definitions ** BloomEngine source */ #include <stdint.h> #include <cstdio> #include <string> #include "hdata.h" using namespace std; const uint32_t RETAIL_MEMORY_ADDRESS = 0x40440000; const uint32_t HEADER_LENGTH = 0x800; struct cacheHeaderRetail { uint32_t head; //'daeh' uint32_t buildVersion; //5 = Xbox, 6 = demo, 7 = retail, 609 = CE uint32_t cacheLength; //Total file length char padding[4]; uint32_t tagArrayPointer; //The offset to the tag array header, within the file uint32_t tagDataLength; //Start of the tag array to the end of the map char padding1[8]; char mapName[0x20]; //internal map name char buildDate[0x20]; //The date tool built the cache uint32_t mapType; //0 = singleplayer, 1 = multiplayer, 2 = UI uint32_t crc32; //checksum char padding2[0x794]; uint32_t foot; //'toof' } __attribute__ ((packed)) ; struct tagArrayHeader { uint32_t arrayPointer; //Memory pointer to the start of the tag array elements ident scenarioID; //ID of the scenario tag uint32_t mapID; //Not exactly sure, calling 'mapID' for now uint32_t tagCount; //Number of tag array elements uint32_t verticeCount; //Number of vertices uint32_t verticePointer; //File pointer to the vertices uint32_t indiceCount; //Number of indices uint32_t indicePointer; //File pointer relative to the verticie pointer. uint32_t modelDataLength; //Total length of all model data uint32_t tag; //'sgat' } __attribute__ ((packed)) ; struct tagArrayElement { uint32_t tagGroup; //Or first class uint32_t netcodeClass; //Or second class uint32_t thirdClass; //Sounds about right ident id; //Unique identity uint32_t namePointer; //Memory pointer to the tag name/file path uint32_t tagBlockPointer; //Memory pointer to the actual tag data char padding[4]; uint32_t externalFlag; //0 = false; resourse within map, 1 = indexed; resource outside of map } __attribute__ ((packed)) ; #endif Hope that helps.
-
Ryx liked a post in a topic by Takka in Drunk Tank CE
Due to popular demand from no one, here's the port of Drunk Tank from HPC.
The map is just Chiron, where everyone has only the Incendiary Shotgun and Rod Pistol from Phoenix ..oh and everyone's 100% invisible (guns visible in FP).
Best paired with alcohol.
Download
-
Ryx liked a post in a topic by Kavawuvi in Map compression?
Many maps being made today contain large amounts of bitmap, sound, model, and BSP data. As a result, these maps take a large amount of space.
A common way to keep size down is to use DXT compression. This allows for bitmaps to take up as low as 1/8th their original size. However, this results in a significant, irreversible loss in quality in the original image.
Something I've been doing is experimenting with lossless map compression.
There are a few choices for good, lossless compression algorithms to use:
DEFLATE (typically used in .zip/.gz) - Also used by the original Xbox for Halo Combat Evolved cache files LZMA/LZMA2 (typically used in .7z/.xz) Zstandard (typically used in .zst) The map I'm going to use is a10.map (189.9 MiB). This map was built with no dependency to bitmaps.map, sounds.map, or loc.map, and it contains the original Gearbox-compressed bitmaps and sounds. I'm going to be testing using libdeflate (DEFLATE), xz (LZMA), and zstd (Zstandard).
DEFLATE and LZMA's default compression settings are level 6, with the maximum being 9. In this case, I'm going to be using level 3 and 9. I picked 3 over 6 for better performance rather than better compression ratio, and I don't have time to compress and decompress the same file 20 times at level 6 since I'm already spending a lot of time doing level 9.
zstd's default compression setting is level 3. The maximum is 22, but levels beyond 19 require more memory, so I chose to use level 3 and 19.
First, let's look at the most important thing: decompression time
When it comes to decompression time, Zstandard is the best, adding only 0.27-0.35 seconds to the map loading time depending on the compression level you used. DEFLATE is also very good and doesn't vary significantly if you use any compression level. xz, on the other hand, is the slowest at nearly six seconds.
Next, let's look at the second most important metric, compression ratio
As you can see, LZMA is the best of the three, closely followed by Zstandard. DEFLATE's best is only slightly better than Zstandard's default.
Lastly, here is the compression time
When you use the lower settings, Zstandard and DEFLATE are both quite fast. In fact, DEFLATE's best is much faster than LZMA at level 3. Zstandard at level 19 is still considerably faster than LZMA. That said, compression time is not really important, as it's something you only have to pay for once: when you create the map. Decompression has to be paid for every time the map is decompressed.
It's worth noting that these tests were all performed on one CPU thread. zst allows you to compress using multiple threads (though it seems diminishing returns are at 4 threads?), and this significantly improves performance. I did a test earlier today with all of the Halo PC maps that came with the game using Zstandard, and this is what I got.
xz also lets you use multiple threads, but if you want better loading times, you'll want to split things into blocks so you can decompress them in parallel. This is basically required to make loading times bearable. Here is an old spreadsheet I made where I compressed the entire Refined campaign into blocks using LZMA.
As you can see, loading times are actually pretty tolerable, even if you have only a dual core CPU. Waiting 3-4 seconds is much better than having to wait six seconds for a map to load. If you have four or more threads, though, then you'll generally see two seconds or less, and under two seconds with eight threads. Even so, this is still not quite the speeds of even DEFLATE on one thread. And you can also use multiple DEFLATE or Zstandard blocks, too, if you wanted. That said, it is worth noting that using multiple blocks also comes at a compression ratio tradeoff and requires more RAM - something Halo Custom Edition being a 32-bit program is in short supply of.
So what are the takeaways?
LZMA:
Best in compression ratio by far Better than Zstandard at -19 in compression speed All of the above benefits hardly matter because you have to wait multiple seconds for the map to load tl;dr: Best compression ratio, Slow
DEFLATE:
Fast decompression Compression ratio isn't very good compared to Zstandard which is better compressed and is faster at decompression Best setting (-9) is only 1% better than Zstandard's default (-3) in compression ratio, but takes over 10x as long to compress tl;dr: Fast, Not very good compression ratio though
Zstandard:
Fastest decompression all around Fastest compression if trying to match DEFLATE's Can match LZMA's -3 compression ratio with -19, but takes 49% longer than LZMA to compress to that level Significantly better than DEFLATE's compression ratio with -19, but not quite as good as LZMA's -9 tl;dr: Fastest decompression, Decently fast compression speed, Good compression ratio, the "best of both worlds" so to speak
You can create .xz and .gz archives in 7-Zip. 7-Zip does not support Zstandard, though, so you'll need a separate program for this or a plugin of some kind. Writing a program that compresses maps isn't particularly difficult.
Also, it is possible to have the game automatically decompress the map, too, with a mod. Chimera, for a while, did this, as it supported an experimental format that used multiple LZMA blocks, and these were decompressed into a region of memory. However, this came with a drawback: it required a 1 GiB contiguous chunk of virtual memory just to hold the map, thus you had to patch the game to allow you to go above the 2 GiB limitation. 1 GiB is arguably not enough memory, too, as while today's maps are usually under half a GiB, tomorrow's maps could go over this limit, and making one is easy to do right now.
The Xbox version of the game addressed its low memory limits by caching the uncompressed version. However, unless you have multiple compressed maps, then having a big temp file on your hard drive or SSD is going to negate the savings. Also, accessing the disk is slow and prone to stutters even on an SSD.
This makes it questionable whether or not map compression is viable on Halo PC or not, as while it provides a significant savings sometimes even over DXT compression, it, first of all, requires a mod. It also requires either patching your game's executable while hoping nobody makes a 1+ GiB map, or that you have to have uncompressed files laying around taking up a lot of space.
-
Ryx liked a post in a topic by Kavawuvi in Reflexive addition in Halo PC without HEK
What he means is my method is like what Guerilla does, with the added benefit of isolating tags from the map.
If scenario editors used my method, they could increase the size of the scenario tag and not overwrite script data, which would mean that various maps won't break if you edit them in the scenario editor.
-
Ryx liked a post in a topic by Kavawuvi in Reflexive addition in Halo PC without HEK
I've only gotten scnr mapped out for both reflexives and references (currently just references in Proton code), though I've mapped out dependencies for tags like antr tags for getting false-positives and sheer size (brute forcing does take time).
Proton sort of does that. It actually disassembles the map into an array of tags then reassembles it, calculating where things should go, similar to Eschaton.
-
Ryx liked a post in a topic by WaeV in Reflexive addition in Halo PC without HEK
The trouble is that to add reflexives to an existing .map file, we have to add it to the back (bad) or slide other stuff out of the way (correct, but difficult).
-
Ryx liked a post in a topic by Vaporeon in 32-bit-Enhanced Refined stock maps for Halo PC
I find myself still playing the original release of Halo for PC a lot rather than just Custom Edition, so I decided to put together a set of maps for it with recent enhancements.
This includes all maps for both Campaign and Multiplayer, with the following changes applied:
Every bitmap that was released with the Halo Editing Kit for Halo CE has had its source extracted and recompiled as uncompressed 32bit textures replacing the DXT compressed versions, invader-bitmap was used to do this. These bitmaps account for 860 of the 1488 odd bitmaps in the game. Note that explosions may look wrong without a current mod installed that fixes a bug in halo when using these textures in some places. Jesse's HD halo HUD has been included with a few updates Some fixes from the Refined tagset have been updated and included, like the shader replacements and Xbox music. unneeded workarounds intended to fix Custom Edition bugs that do not apply for the base game have been excluded. Many invalid tags are now fixed
Download for Halo PC full version: Uncompressed - 8.6 GiB installed, works on stock clients (Updated 2020 07 07)
Download for Halo PC full version: Chimera compressed - 2.17 GiB installed, requires Chimera 1.0x (Updated 2020 07 19)
Download for Halo Trial - 8.1 GiB installed, Chimera highly recommend to load the extra maps. (Updated 2020 07 22)
Screenshots:
UPDATE 2020 07 07
A sound bug has been fixed that would cause music to sometimes play incorrectly.
-
Ryx liked a post in a topic by Takka in FTW2 v2 (Blood Gulch and UI)
I keep getting asked for the FTW2v1 maps (older than the two in OP), so I'll add a link here: http://www.mediafire.com/?gc7xc48wy35ce
-
WaeV liked a post in a topic by Ryx in Christmas Creek
Can we talk about how horrible of a design that was? Yeah, let's put the flamethrower on ThE LARGEST MAP in the game but give the person on a balcony overlooking the entire map a OHKO area effect.
this is tongue-in-cheek, I realize that it is useful for controlling the caves. but still, wtf