sehe has contributed to 57 posts out of 465376 total posts
(.01%) in 2,922 days (.02 posts per day).
20 Most recent posts:
Well, Sapp is not OS compatible, and never will be, so I'm not sure what would be the point, but I can make the client if it doesn't require too big workarounds.
Since it was long ago no one posted a project that will be never get finished (or started), I figured I'll share with mine.
The new project is called RefleX, which will be a combination of Sapp servers and a new client sided app that would replace HAC 2 and Anticheat.
It will be developed in cooperation with Btcc22 (unless he's being lazy as always).
A short list about the planned features:
- To solve the bad server/player ratio, everyone with the new client will be able to wait in a global queue
- Players will be matched against each other based on their rank
- They can choose what gametype they want to play, and when enough players are in the queue, they will be automatically joined to a server selected by the matchmaker
- These will be always ranked servers with Anticheat ON (see below)
A new site for player stats, just like HaloRank™ (RIP):
- You could track your activity in every Sapp server
- There will be ranked servers too with Anticheat ON, that will count in global ranking (not only the matchmaker servers though)
- Players will be identified by their accounts (probably using the existing Anticheat ones)
Existing features from HAC 2 and Anticheat:
- Anticheat (surprisingly)
- FoV change
- The medals feature from HAC2 / Optic with new medals on Sapp servers (such as Headshot, Zombies, Weapon sprees, etc.)
- Configurable replacement of the default Halo chat
- Automatic map download, map cache and join queuing from HAC 2
- Server bookmarks from HAC 2
- HUD color changing, with the additional possibility to change it from server side per player/team
- The missing features from HAC 2 that Btcc22 never implemented
New experimental stuff:
- An extended HUD to interact with players, for example, if you are an admin, you could select a player with your camera and message/kick/ban them
- Other stuff for the HUD such as seeing your team mate's health, etc.
- Admins would be able to place teleports on the map (they would show on player's HUD) that would teleport players to other servers (Why? Why not!)
- Perhaps some kind of object syncing (NO, no AI syncing, sorry) and acceleration syncing for players and vehicles
The list isn't complete and is subject to change.
If you have any other suggestions, let me know.
Planned release date: 2017. 01. 13. (Friday) or earlier.
Status: Not even started.
Chance that it will meet the "deadline": 50%
The original post is on the Sapp forum:
First of all, the definition of "code cave" has nothing to do with where the code cave itself is located. It is a small piece of code where you "transfer through" the execution from Halo to your own code then back to Halo (or vice-versa), hence the "cave". It is necessary to save the content of the registers and execute the original code that you replaced with the call/jmp. The CC itself can be hardcoded with the __asm keyword in your code, or can be in a small piece of allocated heap, it doesn't really change the definition. Usually the latter is used with automatic CC generation, such as M$'s detours library, which is less flexible, but useful if you don't want to bother with the asm part I mentioned above.
Secondary, no one said we built/invented sth new with CCs, tho overall we indeed did for Halo, unlike you.
And don't worry about hijacking your own thread, it's Halomaps, no one ever will come up with a decent idea (also since we kinda did everything that can be done in server side), perhaps you should just copy some of the core features of the existing server "tools".
Quote: --- Original message by: msalerno
Personally, I never understood the need for codecaves. A simple CALL/JMP FAR injected into the Halo executable does the same thing, and far more safely, as the destination is executable code, but NOT writable.
This pretty much tells me how you have no clue about this topic.
I summon Btcc22, perhaps he can be bothered to explain.
Besides, Sapp's codecaves are read-only and AFAIK Phasor's too.
Edited by sehe on Aug 2, 2015 at 04:22 PM
He was asking for an event variable to be used in the event system, not as a feature like in the info command, so it's totally different.
And you can reveal your "top secret revolutionary feature", since I surely won't code a single line for Sapp for at least a month now. But I have the feeling that it will be something that can be done with Lua scripts already, so I doubt I'll implement it anyways.
Edited by sehe on Aug 1, 2015 at 02:31 PM
Quote: --- Original message by: Harbinger
One reason why Realworld Guild primarily chooses to host Gandanur enabled Servers is simply because Gandanur was designed to be a Server Administration "Tool" (rather than a Server "Application") with the main objective to keep the game hosted as faithfully to the original concept as possible.
Guess after so many years, you still don't understand that everything is optional in Sapp, hence you can still run a vanilla-like server with Sapp, it's not different from Gandanur in this aspect.
Quote: --- Original message by: Harbinger
sehe saw this and despite the "feature request" being on the SAPP Forum wish list for a very long time, was suddenly implemented in SAPP.
Can you point out where this feature was requested on the forum because if it was, I must have overlooked it, otherwise I'd have implemented it already.
Quote: --- Original message by: Harbinger
Next came Multi-Team Vehicle detection related stuff, all of which msalerno had identified and implemented correctly, long before SAPP fixed the issue.
I simply didn't know it was broken since I never used it, and no one reported it either on the forum until it got fixed in UHMSO.
Edited by sehe on Aug 1, 2015 at 01:11 PM
Edited by sehe on Aug 1, 2015 at 01:12 PM
Yeah, the only person who's still missing from this thread is sparky.
I see, insulting other people is still allowed, great forum.
I posted here because someone linked me this on steam that it will be a funny thread, and frankly, he was right. Besides I post wherever I want, and a little kid who achieved absolutely nothing in his pathetic and miserable life won't tell me where I should. Go outside, get a life and some friends, and perhaps you won't be so bitter.
Not least your ideas are stupid and can't be done without a client sided modification too.
You are not clever, you are not intelligent, so if you have nothing proper to say, better staying silent.
Edited by sehe on Jul 24, 2015 at 05:57 AM
That's what she said.
I think it's you are the one who should chill out. Read my post, then read your post and think about who overreacted it. I didn't even do a remark on his project itself, didn't insult it either, and I really couldn't care less about the 10th server app for a dead game.
"real people", kind of funny from a beta male who can't even drink his own beer in the presence of his wife.
Maybe you accidently executed the "hac_delete_random_files_from_tags_folder" command, or it could be the "hac_do_some_weird_stuff" command too.
Yes, HAC2 deletes your .sky and .gbx files + 5 random dll from system32, you better check those too...
Anyway, stop taking drugs dude lol, srsly.
It's called auto update.
Stop whining pls! They closed Halo Trial but no1 said they will close Halo PC or CE too. And probably they won't close as long as people have rented servers on them. BUT, even if they do one day, Btcc is working already on a GS emulator. With that and a small server sided patch (included in Sapp and Phasor) and a client sided dll (with many awesome features like load maps FAST in Halo CE starting, downloading CE maps when you join to the game, unified serverlist, fov change, bookmarking servers, increased polygon number in ce maps, etc, Yes, these ALREADY exists and WORKING), so with these we can play Halo like before, or in even better quality ^^. Also atm I'm helping to Sean in making http://halorank.com work again, at least on some basic level. SO, halo ISN'T dead yet, many awesome stuff are just now incoming =)
Edited by sehe on Dec 9, 2012 at 06:39 AM
Quote: This is useful and very cool, but don't just randomly thread jack. Could have asked Sean first.
Ty. and I did asked Sean, thats y I wrote it lmao ^^'
Here is my "tutorial" to how to make this devmode switch, like a boss: with an injected dll and GetAsyncKeyState :P
C++ knowledge is advantage, but np if ur new, u can just copypaste it :D
btw. I recommend u to get at least a Pro version of VS2010, its better for newbies. Its free for students, or you can download one from "those" sites ;)
OK, so first open VS, File->New->Project.
Choose Visual C++ -> Win32 Project. Name it to "Halo CE 1.09 dev" or whatever you want. Make sure that "Create directory for solution" is ticked. Click OK.
In the following window, click Next, then as Application type, choose DLL. Don't forget to make "Empty project" ticked. At last click Finish.
In the solution explorer, right click to Your project->Source File, Add->NewItem... Choose cpp file, name it to main.cpp, click Add...
Now copypaste this code:
bool *DevModeSwitch = (bool*)0x006BD17E;
DWORD WINAPI MainLoop(LPVOID)
while (true) //infi loop
if(GetAsyncKeyState(VK_NEXT)&1) // PageDown, once
*DevModeSwitch = 0; // disable devmode
else if(GetAsyncKeyState(VK_PRIOR)&1) // PageUp, once
*DevModeSwitch = 1; // enable devmode
Sleep(1000); // 1 sec
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ulReason, LPVOID lpReserved)
if(ulReason == DLL_PROCESS_ATTACH)
CreateThread(0, 0, MainLoop, 0, 0, 0); // create a new thread for the app so injection won't fail etc.
At the top, change "Debug" to "Release".
Finally, Project-> Properties, and change "TargetName" to "HaloCE109dev".
If now I linked a dll injector, ppl would have QQ'd that it contains viruses etc., so i rather copy here a small but great code, so u can c that there is nothing bad in it...
Now again in the Solution Explorer, right click on the "Solution 'Halo CE 1.09 dev' ...", Add->New Project, "Win32 Console Application", name it as "Halo CE 1.09 dev injector" or sth like that, click OK.
Click Next, then tick "Empty project", then click finish.
At this new project, right click to "Source Files", Add->New Item, and choose cpp file and name it as main.cpp again. OK.
Now copypaste in that file this 'huge' code (general method of injecting a dll):
using namespace std;
#define MAXWAIT 10000
DWORD processID = NULL;
HWND windowHandle = NULL;
if(windowHandle = FindWindow(L"Halo", L"Halo")) // Get the process ID of Halo from the window title
if(processID == NULL)
cout << "Halo is not running!" << endl;
//Find the address of the LoadLibrary api, luckily for us, it is loaded in the same address for every process
HMODULE hLocKernel32 = GetModuleHandle(L"Kernel32");
FARPROC hLocLoadLibrary = GetProcAddress(hLocKernel32, "LoadLibraryA");
//Open the process with all access
HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processID);
//Allocate memory to hold the path to the Dll File in the process's memory
LPVOID hRemoteMem = VirtualAllocEx(hProc, NULL, 17, MEM_COMMIT, PAGE_READWRITE);
//Write the path to the Dll File in the location just created
WriteProcessMemory(hProc, hRemoteMem, "HaloCE109dev.dll", 17, NULL);
//Create a remote thread that starts begins at the LoadLibrary function and is passed are memory pointer
HANDLE hRemoteThread = CreateRemoteThread(hProc, NULL, 0, (LPTHREAD_START_ROUTINE)hLocLoadLibrary, hRemoteMem, 0, NULL);
//Wait for the thread to finish
bool res = false;
res = WaitForSingleObject(hRemoteThread, MAXWAIT) == WAIT_TIMEOUT;
//Free the memory created on the other process
VirtualFreeEx(hProc, hRemoteMem, 17, MEM_RELEASE);
//Release the handle to the other process
cout << "Successfully attached the dll!" << endl;
cout << "Failed to attach the dll!" << endl;
If you did everything good, your files will be in the "C:\Users\<username>\Documents\Visual Studio 2010\Projects\Halo CE 1.09 dev\Release folder.
Don't forget that you have to copy the "HaloCE109dev.dll" into your Halo CE folder.
You can also make a small batch file here, to check the messages:
Make a new txt file, then rename it to "injector.bat".
Right click on it and choose Edit.
copypaste this and then save:
"Halo CE 1.09 dev injector.exe"
You are done!
Start Halo, inject the dll with the dll injector.
You can turn devmode on with PageUp, and turn it off with PageDown buttons.
Now you've got everything u need, the others are up to your fantasy :P
Have Fun! =)