PDA

View Full Version : [APP] SAPP



Pages : [1] 2 3

sehe
August 2nd, 2011, 06:54 AM
Hy all!

I got the source code of SAPP from Termy (the original author), so now I'm the new developer =)
Here is the brand new version, i hope you will like it ^^

http://xhalo.tk

Some new features:


Very basic Aimbot detection
Team Balance command (real balance, not only in player numbers ;)
Auto Text-ban Chat Spammers
Protection vs Spawn kills
Vote option for players to skip the map (very basic, i just put this into the last moment, mb its a bit buggy)
Some more new command, u can find all in the homepage :P


I tried to do my utmost best to improve SAPP, but the source code is HUGE, so pls report me any bugs that you found. Thank You!

sehé°°

chrisk123999
August 2nd, 2011, 09:27 AM
How does this basic aimbot detection work?

Limited
August 2nd, 2011, 12:05 PM
Players will get scores for "suspect" movements. If a players score is higher than the aimbot_ban value, he/she will be banned & ipbanned. =)
Note that u WON'T get banned if you are shaking your camera like a retarded or killing 15 ppl in half second, etc.
Value is between 10000 and 100000, recommended is 20000. (The less value, the faster ban)?

Interesting

supersniper
August 2nd, 2011, 02:18 PM
lol so i can set the value at 5 and say everyone bots :D

for those who don't like tk links

http://xhalo.byethost18.com/

sehe
August 2nd, 2011, 02:29 PM
"Value is between 10000 and 100000, recommended is 20000." 5 is not between 10k and 100k ;) So no, u can't.
I fixed a mayor bug in bot detection, so if you downloaded SAPP before 19:00 GMT, i strongly recommend you to re-downlaod it again. Also, the value is now between 20k-200k.

flyingmonkey3
August 2nd, 2011, 02:30 PM
So how specifically is this score determined?

NullZero
August 2nd, 2011, 03:11 PM
I'd like to test trying to manually snap to different players. If I can trigger it manually, you can probably be sure that people are going to get falsely banned for apparent botting, and not being able to get unbanned because they can't prove they weren't. Nice in theory.

sehe
August 2nd, 2011, 03:32 PM
You think i didn't thought for this? Sure, If u can snap 120° in 0,01 second and kill the player you might get banned, otherwise its impossible... But keep trying, lemme no when u succeed ^^

NullZero
August 2nd, 2011, 03:37 PM
Hmm, possible when it's close range. Especially when swipe noscoping, or quick reactions and luck. Is there a cool-down period, or will the score just keep adding up?

flyingmonkey3
August 2nd, 2011, 03:51 PM
Just curious, but how did you calculate the degrees of a snap? From what I can tell, player aiming has 3 values to it. One of them definitely corresponds to up/down, but I'm not sure how the other 2 work.

sehe
August 2nd, 2011, 04:22 PM
Nvm, trust me, it won't ban you if you are pro, or just had a big luck. And yes, there is cool-down ofc.

Player camera has 2 values: xy(0 - 2PI)"around" and z(-PI/2 - PI/2)"up-down". SAPP checks the change of these values 100 times/sec. Snap is sqrt((xy_change*(180/PI))^2 + (z_change*(180/PI))^2)° =)

flyingmonkey3
August 2nd, 2011, 04:42 PM
Hmm I must be looking at something different then. FYI I'm looking at the object struct.

Donut
August 2nd, 2011, 04:47 PM
a tiny aside here, but if youre going to post a formula like that, it would be helpful to have it in actual mathematical notation instead of the corresponding programming line. its not really an issue, its just that i find it very difficult to even process whats happening in a formula if its written in that notation

flyingmonkey3
August 2nd, 2011, 05:19 PM
Well I managed to find the addresses in the player struct that match up to your description of xy and z aiming, but these values seem to only be updated every few seconds. If you don't mind me asking, what are the addresses that you are using?

E: I managed to find the correct addresses, so it's all good. =)

sehe
August 2nd, 2011, 05:54 PM
Cool =)
Donut: It was a mathematic formula, not a part of code...
sqrt = square-root , PI = PI (3,141592...), ^2 = square, xy_change and z_change are variables, they refer to the size of the xy and z coordinate change in 0,01 sec...

Limited
August 2nd, 2011, 06:01 PM
So your basically checking sudden changes in the view float, I'm if this happens multiple times it adds a point.

I didn't realise server had access to the viewing positions, suppose it makes sense :D

Glad we have a few more programmers here :D

^ Delta values

flyingmonkey3
August 2nd, 2011, 06:01 PM
So the criteria for "botting" in this case is turning the camera over 120 degrees and killing someone? How do the values of 20k-200k relate?

sehe
August 2nd, 2011, 08:40 PM
Lol, not over 120°... uhm...sight...i'll tell u tomorrow how its exactly working, but its 2:40 am atm ... gn^^

king_nothing_
August 2nd, 2011, 09:14 PM
Someone let me know when they have this running on a dedi. I'm a pretty twitchy player, so I'm curious to see if it'll falsely flag me.

chrisk123999
August 2nd, 2011, 11:35 PM
So it's basically checking if the player has moved their camera direction more then a specified amount since the last check?

sehe
August 3rd, 2011, 06:07 AM
OK! So, as i said, its just a basic aimbot detection, yet.
Players get scores for 2 things: snap, and then kill, or kill then snap.
SAPP checks the camera change in every 0.01sec. Minimum snap is 7.5° (PI/24), the faster he kill after the snap (<= 1sec), or the faster the snap after the kill (<= 0,1 sec) the more points he get. Players get more scores for snapping after kill than snap and then kill. Also, the players get more scores for bigger snaps, this grows exponentially.
I plan advanced detection, luckily i have the source code of evilaim, so this may helps a bit. =)

NullZero
August 3rd, 2011, 08:06 AM
Cool stuff! Looking forward to testing it. Perhaps one bot match (where everyone loads up the aimbot lol) in a private server to trial it.

chrisk123999
August 3rd, 2011, 09:44 AM
The only problem I see with this method is that there are some aimbotters out there who are more careful and don't snap like crazy.

sehe
August 3rd, 2011, 10:12 AM
Yes i know, but as i said, its just a basic detection vs morons whos just keep holding shift w/o brain xD

supersniper
August 3rd, 2011, 04:40 PM
lol if this does work really well looks like aimbotters will have to create bots that do slow movement lock on :P

{XG}Gijs007
August 7th, 2011, 06:25 AM
Cool stuff! Looking forward to testing it. Perhaps one bot match (where everyone loads up the aimbot lol) in a private server to trial it.

We did that, it works fine.
But it doesn't always detect it when you use an aimbot, im not going in to details(because then people know how to prevent being banned)...

sehe
August 10th, 2011, 05:51 PM
New version 0.11.2 has been released, its finally seems stable, even the event/say system =)
http://xhalo.tk/

sehe
August 11th, 2011, 12:35 PM
Check out the new forum and post some nice ... posts. :Đ
http://www.1xgclan.com/forum/viewforum.php?f=12
Thx to {XG}Gijs007 (http://www.modacity.net/forums/member.php?1822-XG-Gijs007) =)

Rainman
August 14th, 2011, 01:41 PM
well this is the problem.
Don't worry no one has it but me.

http://www.youtube.com/watch?v=rjmFUug2D78

Cortexian
August 15th, 2011, 01:16 AM
Don't worry no one has it but me.
I have one just like it, it's part of GuiltySpark.

jcap
August 15th, 2011, 01:57 AM
Don't worry no one has it but me.

So yeah this will only be released to certain people
:raise:

supersniper
August 15th, 2011, 03:26 AM
I have one just like it, it's part of GuiltySpark.YEAH I GOTZ AN EPENIS!

Kornman00
August 15th, 2011, 03:50 AM
lol, it wouldn't be that hard to make a detection process for that

flyingmonkey3
August 15th, 2011, 01:17 PM
lol, it wouldn't be that hard to make a detection process for that

Someone really should do this. It seems like bots are easy to come by but antibot measures aren't.

sehe
August 15th, 2011, 02:23 PM
yes.. i wrote smooth bot by myself too, its not hard... but i wont release it, and also very few ppl use bots like this, cuz u can't rape with it so hard, like with evilaim...
tho i'm planning advanced bot detection, but first i wanna focus in more important things like stability etc.
btw. v.1.0 will be released soon :P
oh and i think i need a pro assembly coder/debugger eheh ;) if You are it, add me on xfire; lgbalazs

Patrickssj6
August 16th, 2011, 11:36 AM
Just put a Hardware BP with VEH on aiming vecs and done...that is client sided detection. Most scriptos kiddos are going to have trouble with that.

sehe
August 17th, 2011, 03:15 AM
Nah, i have those already, I need u cuz i think we need to call sv_say higher than atm for the stablility, and also want to handle rcon from the beginning (i mean password checking, executing commands, etc., cuz Halo is buggy, and u can crash the server w/o knowing the password, and also no brute-force protection in it...) I already added u in messenger about a week ago tbh xD

flamewheel06
August 17th, 2011, 10:59 PM
even with the latest RC1 i think there is still a bug.
all players seems to quit all of a sudden. i have a server on GS.

sehe
August 18th, 2011, 02:19 AM
Yes, i know, its bc the say command is buggy, tho it rarely even happens if u wait at least 4-5 seconds before the first join event, and leave at least 2-4
seconds between them.
But now i'm off for 5 days, use this forum for questions, bug reports, feature requests, etc.
http://www.1xgclan.com/forum/viewforum.php?f=12&sid=512bbf3ec30c4e7e466024888f32be2a

Byez

flamewheel06
August 31st, 2011, 01:40 AM
even with new version 1.2.1 my server still crashes (all the players seem to quit all of a sudden 'network connection lost')
i only have 4 events in my init.txt and they are 10000 12000 15000 20000.
the server kicks(network connection lost) everyone out every few hours
this is the main reason what get me frustrated everything else seems fine.
can you fix this issue.
your doing a great job.

Jason512
September 3rd, 2011, 07:44 PM
even with new version 1.2.1 my server still crashes (all the players seem to quit all of a sudden 'network connection lost')
i only have 4 events in my init.txt and they are 10000 12000 15000 20000.
the server kicks(network connection lost) everyone out every few hours
this is the main reason what get me frustrated everything else seems fine.
can you fix this issue.
your doing a great job.

I have the same problem.

KantIZBack
September 5th, 2011, 12:27 AM
http://www.modacity.net/forums/showthread.php?23688-SAPP&p=590662&viewfull=1#post590662
(http://www.modacity.net/forums/showthread.php?23688-SAPP&p=590662&viewfull=1#post590662)=
SmG Cloud

Which is funny cause SmG Cloud is the biggest anti hacker... but rainman is to blame for most of the hacks.....

POQbum
September 9th, 2011, 07:17 AM
There is also a problem with invalid cd keys. I was able to open up modified multipule halo instances, and I could join 10 players into a realworld server with the same key, I use to be able to do these with my servers. With the new sapp, now only 1 player with the same key can join.

This disallows many players with the same key from joining and this can be fixed I'm just not sure how, but I do know it's possible.

It does also appear that sapp lags out a server after a while, it doesn't crash, it just loses connection to all other players.

Still some major props to you for developing, if it helps I would be willing to donate.

Cloud
September 9th, 2011, 02:12 PM
Yeah i ran it on a test server before putting it on all the servers it did not really work out stability wise. So i stuck with the old sapp for now.

POQbum
September 9th, 2011, 03:45 PM
I lost the copy of old sapp, do you know where to find it? Or can you zip the files over?

thanks.

Cloud
September 10th, 2011, 06:29 AM
I lost the copy of old sapp, do you know where to find it? Or can you zip the files over?

thanks.

yeah i will 2maro i need sleep for now ill pm you on your forums.

POQbum
September 11th, 2011, 02:05 PM
yeah i will 2maro i need sleep for now ill pm you on your forums.okay thanks man I appreciate it, I'll be waiting :p

I'll probably use it until a few more kinks (specifically, disabling the 'invalid cd key') are worked out with this version of sapp. Everything else is fantastic and wish the DEV the best. Again I would be happy to donate some money for the time and energy he has put into this project. I never thought I'd see the day of any sort of aimbot detection put into use.

justin108
September 13th, 2011, 11:54 PM
I don't have halo installed anymore, but might play once to twice a month if aimbot detection worked, but honestly I think it would take 2 days to bypass it with the method I read this uses. Honestly though the bots never bothered me, it is the fact all my old halo buds do not play anymore, plus with a kid now, my halo addiction became a bit unhealthy. It would however, be a blast to play with a server full of folks with no bots, but bots are not the main problem there are many ways to cheat on halo and walls (blue arrow) are my main issue, it is worse than radar lol. I tried them all I must confess, but they made the game utterly boring, and can't imagine anyone having fun that way. Well that's more than my 2 cents. Patricks program is really cool for video making and some use it as such, even I requested the version for video. I digress, if I had the time I too would still play this old awesome game, but I am too busy making bottles and wiping up poop.

{XG}Gijs007
September 19th, 2011, 01:56 PM
I have had a look at the source code, but for the cd key all that is used right now is some code that blocks gamespy from sending the invalid cd keys at the default port...

Looks like sehe needs an assembly coder to fix this and a few other(stability) issues.
Anyone who would like to help?

sehe
September 20th, 2011, 02:59 PM
Well.. Since my last post i made lot of bug fixes and optimizations, also made mapvote function for sapp =) I know about the "network connection lost" bug, its because the unstable "sapp say" implementation. Thats why i need a good assembly debugger, Gijs already talked to Patrick, and he may can help us, witch would be awesome :D
Also i don't know what Termy did and y can more ppl join with the same key in the old version, and why can't in this new one... mb its cuz the 1.09 exe but i'm not sure.

{XG}Gijs007
September 21st, 2011, 02:38 PM
We had a power outage 2 weeks ago and unfortunately our mysql database was lost including all posts on our forum, however we have recovered some of those posts from google cache.

Also we have a new domain name and we are working on a new website for sapp, You can access the sapp forums here https://www.xgclan.com/forum/viewforum.php?f=12&sid=512bbf3ec30c4e7e466024888f32be2a

urbanyoung
September 21st, 2011, 06:21 PM
The best way to send chat messages is to make the server do everything for you. Use its BuildPacket and AddPacketToQueue functions, note there are two functions that add a packet to the queue.. One is for the global queue and the other is for a player specific queue. I haven't ported my addresses for CE yet, but you can have a look at the PC 1.09 server and find a byte signatures if you want to use this code. http://pastebin.com/vstchJP4

(http://pastebin.com/vstchJP4)edit: here's the disassembly this is based on, it's the server's chat processing code (again, for pc). http://pastebin.com/6hejBPZb

Patrickssj6
September 21st, 2011, 06:29 PM
Byte signature should be easy to find since those assembly codes look very unique. Question is how much work should one put into this.

Kornman00
September 21st, 2011, 07:08 PM
I already have most of the relative networking functions documented in OS

sehe
September 22nd, 2011, 07:17 AM
urbanyoung; this looks cool, i think i can use dis, thx :) I think the problem is that now sapp sends the server msg even if its not rdy for the queue.
edit: tho some definitions, declarations and includes are missing :/ could u give me the full code pls? or add me on xfire; lgbalazs, thx
edit2: i think i only need from this the "AddPacketToPlayerQueue" function, also i found the "FUNC_ADDPACKETTOPQUEUE" address in CE, its 0x004cc700 =)
so now i only need to know how to call this? xD i mean its, "void AddPacketToPlayerQueue(DWORD player, LPBYTE packet, DWORD packetCode, DWORD arg1, DWORD arg2, DWORD arg3, DWORD arg4, DWORD arg5)", so i should call it like this: AddPacketToPlayerQueue(player_index, message string converted to char* (??), packet code (ECX+01?), 1, 006D8D20, 00000072, NULL, NULL) (dont have better idea, found these values with odbg..)

Patrickssj6
September 22nd, 2011, 10:13 AM
It would be more efficient not to wrap functions in further functions. Just assign an address to a function protoype with the correct calling convention (cdecl in this case).

supersniper
September 22nd, 2011, 10:28 AM
basically it's like he just put a "loop within a loop"

it is less efficient do what pat said.

POQbum
September 22nd, 2011, 11:43 AM
Would it be possible to create a function to list servers on both 1.09CE and 1.00CE?
I know SmG already does this with their servers

Amit
September 22nd, 2011, 11:57 AM
Would it be possible to create a function to list servers on both 1.09CE and 1.00CE?
I know SmG already does this with their servers

The Modacity servers already do that using some customized server app that is quite similar to SAPP.

POQbum
September 22nd, 2011, 12:24 PM
The Modacity servers already do that using some customized server app that is quite similar to SAPP.
ah yeah I've just noticed that. Would it be possible to get this app?
/sorry off-topic

supersniper
September 22nd, 2011, 12:52 PM
lol here's the tool SmG Clan uses

if you searched you would've found it

http://www.modacity.net/forums/showthread.php?23798-Servertool

Amit
September 22nd, 2011, 12:53 PM
Contact Jcap for details on its use.

{XG}Gijs007
September 22nd, 2011, 01:09 PM
ah yeah I've just noticed that. Would it be possible to get this app?
/sorry off-topic

Your looking for this: http://www.vivid-abstractions.net/programming/halo-tools/project-unify-halo-custom-edition-2/

POQbum
September 22nd, 2011, 02:17 PM
Your looking for this: http://www.vivid-abstractions.net/programming/halo-tools/project-unify-halo-custom-edition-2/
Thanks man. I've been searching through the release section back 8 pages and didn't see anything. I must of skipped over it

Kornman00
September 22nd, 2011, 03:01 PM
It would be more efficient not to wrap functions in further functions. Just assign an address to a function protoype with the correct calling convention (cdecl in this case).
The game is a Release build, so with its optimizations, most game functions take one or more of their parameters by registers. What you're suggesting wouldn't work with them.

{XG}Gijs007
September 22nd, 2011, 04:29 PM
Thanks man. I've been searching through the release section back 8 pages and didn't see anything. I must of skipped over it
Your welcome :)
This is the thread on modacity if you want to discuss it: http://www.modacity.net/forums/showthread.php?22938-Project-Unify-Halo-Custom-Edition

Patrickssj6
September 22nd, 2011, 05:47 PM
The game is a Release build, so with its optimizations, most game functions take one or more of their parameters by registers. What you're suggesting wouldn't work with them.
Those 2 functions he posted can be perfectly be type defined. (I know this is not always the case)

I have even seen type defs with functions that require TLS.

urbanyoung
September 22nd, 2011, 05:53 PM
Like kornman said, quite a few functions use registers for one or more of their parameters, it's easier to just embed the assembly call in another function. The performance difference is basically non-existent.

@sehe: That could cause the disconnects, if you bypass the queue you screw up the packet counters and they get out of sync. I used to have a proxy approach (2-3 years ago) but it was a really bad design and so I changed. Most of the relevant code is included, you should basically just need to to update the addresses. I only included the code I use for global messages (ie sv_say server messages). I just included the actual functions, didn't bother with their headers as you can just copy the declaration to one. I'll explain a bit of the code and if you still want some help, I added you on xfire and can send the whole project.

1. Update addresses, there are only three that need updating. You can make that two if you're only interested in server messages, I have the third so I can handle all chat processing.
2. Call the GlobalMessage function (ie GlobalMessage(L"your message, in wide char...")
3. The first bit of GlobalMessage is just used for variable length parameters, WFormatVarArgs is just a memory safe wrapper around _vsnwprintf_s. I'm sure you have code for doing the same thing. It lets you call the function like GlobalMessage(L"Hello %s", player).
4. The next bit just traverses the player list and sends the message to everyone in the server, (*itr)->memoryId is the player's memory id. I think other people call it their machine index or something. The game::ChatData struct is below, you may want to put byte alignment around it.


struct chatData
{
DWORD type;
DWORD player;
wchar_t* msg;
};

If you just want sv_say functionality you can basically get rid of DispatchChat and just put the calls to BuildPacket and AddToPlayerQueue in your GlobalMessage function.

@ Patrickssj6, they probably can be type defined but I didn't really see the point.

edit: no they can't, they use registers. See lines 95/96 for BuildPacket and 127/158 for the queue functions.

Patrickssj6
September 22nd, 2011, 06:20 PM
Oh now I fully understand what Korn meant: There is no way of creating a function prototype since the original function "changed" through optimizations to use registers. I did know that optimization is quite smart but not that smart xD

Of course one could still inline those two assembly lines before calling the function, or am I missing something here again?

e.g.

_asm MOV EDX,0x7FF8
_asm MOV EAX,output
dwBuildPacket(..., ...)

urbanyoung
September 22nd, 2011, 06:27 PM
Oh now I fully understand what Korn meant: There is no way of creating a function prototype since the original function "changed" through optimizations to use registers. I did know that optimization is quite smart but not that smart xD

Of course one could still inline those two assembly lines before calling the function, or am I missing something here again?

e.g.

_asm MOV EDX,0x7FF8
_asm MOV EAX,output
dwBuildPacket(..., ...)

It may work, it would depend on how the compiler builds the function call. I still don't really see why you'd want that mess every time you call the function though, especially for such an insignificant performance gain.

Patrickssj6
September 22nd, 2011, 06:30 PM
This is not about the performance but it does look a lot tidier.

urbanyoung
September 22nd, 2011, 06:33 PM
This is not about the performance but it does look a lot tidier.

I guess that's just a matter of preference. I prefer it be embedded and in a file I seldom see.

Kornman00
September 22nd, 2011, 06:59 PM
This is not about the performance but it does look a lot tidier.
Beauty is in the eye of the beholder. This is an issue of properly documenting the engine function and how you're interfacing with it. Not using inline assembly allows the compiler to add instructions of it's own. It is really unwise to mix asm blocks with C code. You leave the compiler to do pretty much whatever it wants to the resulting output asm. It's why I write explicit function wrappers in OS, and use __declspec(naked) where appropriate.

e: When interfacing with blackbox software which has no code documentation, it is far better to be explicit in your source, especially if others are suppose to look at it and/or grok what is going on.

sehe
September 23rd, 2011, 02:50 AM
Okay, thx the help, i'll try to put this new sv_say function like u said when i'm back from the uni. I don't need the chat cuz it works perfectly, Termy made a great job =)
Patrick; u meant call like this;
#define FUNC_ADDPACKETTOPQUEUE 0x004cc700
int ( __cdecl *Say)(int player_index, const char *msg);
Say = ( int(__cdecl*)(int, const char*) ) FUNC_ADDPACKETTOPQUEUE;
Say(player_index, "Hello");
?

urbanyoung
September 23rd, 2011, 04:13 AM
Ok, that won't work. You need to build the packet before you can add it to the queue. If you look at my code I call BuildPacket and THEN AddPacketToQueue. You should use embedded calls like I did in my example, it works and is stable. The compiler won't mess anything up. All the function calls you need are already in my example. Copy and paste my BuildPacket and AddPacketToPlayerQueue functions. Once you do that and update the addresses all you need to do is change the code that is specific to Phasor to what SAPP uses.

edit: plus, remember the message needs to be utf-16 encoded, so use wchar_t* instead of char*.

sehe
September 23rd, 2011, 09:15 AM
OK, i'll try it now. btw. currently msg sending is works both with char* and wchar_t* in sapp.. odd. well nvm .

edit:owww... almost rdy, only need this address: ADDR_SOCKETREADY (def is missing :/) tho i guess u only have dat address in PC, so how can i find it in CE ? lol

edit2; i skipped this since its just a security function which is erase the msg if packet queue is not rdy:
//MOV ECX,DWORD PTR DS:[ADDR_SOCKETREADY]

//cmp ecx, 0
//je NOT_READY_TO_SEND
so now i can comply, but Halo crashes when i call a msg :/
the problem is that idk what to use as "(*itr)->memoryId" / "(*itr)->mem->playerNum", i used the playerindex from the PlayerTable but it seems its not good... is this a memory address wich points to the player's PlayerTable structure or what? O.o

edit3: ok, my test code witch is not working is;
void GlobalMessage(int PlayerIndex)
{

std::wstring msg = (wchar_t*)L"Test";

// Build the chat packet
chatData d;
d.type = 0;
d.player = Server->MachineInfo[PlayerIndex].Address; // Player we're sending it from
d.msg = (wchar_t*)msg.c_str();


BYTE* packetBuffer = new BYTE[4096 + 2*msg.size()];

DWORD retval = BuildPacket(packetBuffer, 0, 0x0F, 0, (LPBYTE)&d, 0, 1, 0);

AddPacketToPlayerQueue(Server->MachineInfo[PlayerIndex].PlayerNumber, packetBuffer, retval, 1, 1, 0, 1, 3);

}
and the addresses i found in 1.09 ce:

#define FUNC_BUILDPACKET 0x004d9830
#define FUNC_ADDPACKETTOQUEUE 0x004cc850
#define FUNC_ADDPACKETTOPQUEUE 0x004cc700

did i missed sth? :/

urbanyoung
September 23rd, 2011, 06:56 PM
That's pretty close, the only issue i see is where you set d.Player. You should make that equal to PlayerIndex, not the player's address. So like d.player = PlayerIndex; Also, don't forget to delete packetBuffer when you're done, you don't want a memory leak.

edit: for ADDR_SOCKETREADY do a binary search for: 89 5E 18 89 1E 89 5E 08 89 5E 0C 89 5E 04 and you should end up seeing something like this http://pastebin.com/kusN1kuy

sehe
September 24th, 2011, 02:09 AM
cool thx. btw i tried it with both playerindex and both memory address but neither works :/ and will it send a private server message to the player or a chat message to himself like in gand.?

edit: ok, now i used PlayerIndex in both places and tested it when only i was in the server (so PlayerIndex = PlayerNumber = MachineIndex = 0), also found that address and deleted the packetBuffer but still getting crashes when i call it:/
mb The addresses (1.09 CE) are wrong?

edit2: wooot i found & fixed the bug and now its works, cooool thx again :D

urbanyoung
September 24th, 2011, 02:40 AM
Your current code will send a message to the specific player and it will be of type all chat. If it doesn't work check your addresses are correct.

sehe
September 24th, 2011, 05:19 AM
Its working now thx ^^
So no more network connection lost error, Thx to urbanyoung !
Now i only need to fix that 2 players can't join with the same cd-key :/ patched the exe with Brandinimp's patcher but that doesnt fixed it. I'll try to change a bit the hash after the player joined.

edit: FIXED! Now players with same CD-Key can join!

sehe
September 25th, 2011, 08:15 AM
Version 1.5.1 is released!
Download (http://www.xgclan.com/sapp/index.php/download)
Don't forget to replace the exe too!

POQbum
September 25th, 2011, 04:53 PM
Version 1.5.1 is released!
Download (http://www.xgclan.com/sapp/index.php/download)
Don't forget to replace the exe too! you're awesome, thanks!
For continued suggestions I'd like to ask if you could add the modification here that adds servers to both 1.09 and 1.00CE lists
Found here:
http://www.modacity.net/forums/showthread.php?22938-Project-Unify-Halo-Custom-Edition

It seems I have to choose between this great sapp version or having our servers be available on both lists and it'd be great if we could have both.

Patrickssj6
September 25th, 2011, 04:58 PM
you're awesome, thanks!
For continued suggestions I'd like to ask if you could add the modification here that adds servers to both 1.09 and 1.00CE lists
Found here:
http://www.modacity.net/forums/showthread.php?22938-Project-Unify-Halo-Custom-Edition

It seems I have to choose between this great sapp version or having our servers be available on both lists and it'd be great if we could have both.
So it "appearing on two lists" works flawlessly for you?

You can add the anti-rcon-bruteforce into SAPP as well.

POQbum
September 25th, 2011, 05:20 PM
So it "appearing on two lists" works flawlessly for you?

You can add the anti-rcon-bruteforce into SAPP as well.
Yep I actually sent you a PM about that. We have a couple of our servers running with your MOD but then we can't use the newest SAPP because both of you guys have individual .exe's

They do appear on both lists and it works great, only issue (as you pointed out before) is that sometimes you don't see the server on 1.00 or 1.09, but it always comes back :p

So what I was really asking is if either of you guys (sehe or Patrickssj6) can combine these mods into 1 .exe?

Kornman00
September 25th, 2011, 05:27 PM
You can add the anti-rcon-bruteforce into SAPP as well.
What, did you just add a counter for players who enter in the wrong password X times?

e: oh, didn't know there was a new thread in Releases that covered it

{XG}Gijs007
September 26th, 2011, 11:58 AM
Sapp already has protection against known and unknown exploits.
Im pretty sure brute force is part of this -but ask sehe for confirmation anyway, also sapp normally uses its own admin system and not rcon so most servers should be fine anyway.

Also sehe told me that sapp has some kind of scripting function which gets run every x amount of sec.
He could probably make it switch between v1 and v3 every 5 sec or so and do the same as project Unify halo does.

sehe
September 26th, 2011, 12:17 PM
No, it don't have rcon-brute-forec protection, yet. Tho it has 2 admin system, so u can disable rcon and don't have to worry about brute force.
About the 1.00-1.09 problem, i see this in the site u linked: "-Removed the 1.08 version and made the 1.09 version fully SAPP compatible". So whats the problem? It's not compatible with the new version of sapp? I'm not sure i can patch this exe since its originally patched by Termy and not me :/ Tho mb i can compare both exe's to an original one and then patch one...
anyway, Patrick, if u have some patcher then pls download my exe from xhalo.tk, patch it and then send me and i'll upload it, or just send me the patcher =) ty

{XG}Gijs007
September 26th, 2011, 12:21 PM
No, it don't have rcon-brute-forec protection, yet. Tho it has 2 admin system, so u can disable rcon and don't have to worry about brute force.
About the 1.00-1.09 problem, i see this in the site u linked: "-Removed the 1.08 version and made the 1.09 version fully SAPP compatible". So whats the problem? It's not compatible with the new version of sapp? I'm not sure i can patch this exe since its originally patched by Termy and not me :/ Tho mb i can compare both exe's to an original one and then patch one...
anyway, Patrick, if u have some patcher then pls download my exe from xhalo.tk, patch it and then send me and i'll upload it, or just send me the patcher =) ty
keep in mind that: Applying this on exe level would cause this to be enabled on all sapp servers, even if admins don't want it to!

POQbum
September 26th, 2011, 12:57 PM
keep in mind that: Applying this on exe level would cause this to be enabled on all sapp servers, even if admins don't want it to!
Or he could provide 2 .exe's, one with and one without.

{XG}Gijs007
September 26th, 2011, 01:00 PM
Or he could provide 2 .exe's, one with and one without.
Thats indeed possible, but it might cause for confusion.

I think its best if patrick takes the updated(25-9) haloceded.exe from the sapp project. and edit it and host it on his own blog because sapp doesn't require haloceded.exe changes that often anyway.
This case was an exception because sehe fixed the cd key issue in the exe file.

sehe
September 26th, 2011, 01:57 PM
SO, whats teh problem with this 1.09 exe? Its compatible with sapp isn't it?

{XG}Gijs007
September 26th, 2011, 03:20 PM
SO, whats teh problem with this 1.09 exe? Its compatible with sapp isn't it?
Idk I haven't tried it in a while, but I bet it doesn't have your cd key fix;)

POQbum
September 26th, 2011, 03:44 PM
SO, whats teh problem with this 1.09 exe? Its compatible with sapp isn't it?
It is sapp compatible? So I just need to have the SAPP .dll plugged in on the server?

But yes it does have the CD check which is an issue :(
I wasn't able to patch it out with brandini's patcher (2 people with the same key are not allowed in)

But if it works with your new sapp then that's great xD

10 minutes later...
>>>>
Okay so this is what I did.

I used Patrick's .exe which you said was compatible with SAPP. SAPP did not load automatically but I did patch it with termy's patcher.
After I patched it it did load sapp but it did not load any events and I could not get SAPP to produce the event_join messages.

Everything else seems to work well except that this still has the CD check which is of course an issue.

Let me know if I did something wrong in the setup :p

sehe
September 26th, 2011, 07:00 PM
No, you didn't, that patcher is too old for this sapp. Well, tomorrow I'll try to patch together the 2 exes and then everything should be fine :P
btw. i heard u sent me some letter but i didn't got anything, anywhere O.o could you re send it here in a PM pls? Thx.

POQbum
September 26th, 2011, 08:26 PM
No, you didn't, that patcher is too old for this sapp. Well, tomorrow I'll try to patch together the 2 exes and then everything should be fine :P
btw. i heard u sent me some letter but i didn't got anything, anywhere O.o could you re send it here in a PM pls? Thx.
Oh I sent you a PM on your forums a while ago, don't worry about it though it was about outdated requests and concerns anyway.

I did also send patrick a PM as well but he never responded to it (even though he responded to my posts here and another thread). I was really just looking for a knowledgeable developer to combine the two so I wanted to contact both of you in hopes that one of you would say yes and do it.

Looks like you are able to do it and that's awesome. Thanks a bunch for helping out here, I'll be waiting for the release :D

homebrued
September 26th, 2011, 08:31 PM
I would love that release as well.

POQbum
September 26th, 2011, 08:39 PM
I would love that release as well.
I'm sure you would Addict :p
Don't worry he will probably post it up on his website.

{XG}Gijs007
September 27th, 2011, 01:59 AM
Oh I sent you a PM on your forums a while ago, don't worry about it though it was about outdated requests and concerns anyway.



He probably didn't respond because we lost 1 month of forum activity because of a power outage-_-
Oh well we make backups of the database every hour now.

sehe
September 27th, 2011, 08:33 AM
Great... The Sapp and Unify are incompatible cuz they are using the same location in the exe ... WHY?

OMFG!
Took me kinda 2h but I patched together the 2 exes, and it looks like it finally works!!!

POQbum
September 27th, 2011, 11:20 AM
Great... The Sapp and Unify are incompatible cuz they are using the same location in the exe ... WHY?

OMFG!
Took me kinda 2h but I patched together the 2 exes, and it looks like it finally works!!!
woot xD

let us know when you publish it

sehe
September 27th, 2011, 02:47 PM
I Published it. There are 2 exes in the zip, one with Unify and one w/o it.
Also now you can temporary IPBan ppl; ipban player_expr time_in_secs "reason" , Examples:
ipban 6 600 "Betraying" -> ipban somebody for 10 min
ipban New001 0 "H4x0R" -> ipban New001 "forever"
ipban me 3000 "Drunk admin" ...

POQbum
September 27th, 2011, 02:50 PM
I Published it. There are 2 exes in the zip, one with Unify and one w/o it.
Also now you can temporary IPBan ppl; ipban player_expr time_in_secs "reason" , Examples:
ipban 6 600 "Betraying" -> ipban somebody for 10 min
ipban New001 0 "H4x0R" -> ipban New001 "forever"
ipban me 3000 "Drunk admin" ...
thanks!
love it

trying this out now

sehe
September 27th, 2011, 03:45 PM
I'm running atm a test server too and it works and seems stable ^^
Btw. Yes, I accept donations, since i have a lot of work in sapp =) (about hundred hours or more till now, and no1 donated yet O.o </3)

supersniper
September 27th, 2011, 05:44 PM
lol it's not cool to "beg" for donations.
if you are doing this just for the money and recognition then you're gonna be filled with disappointment.

Kornman00
September 27th, 2011, 05:49 PM
The estimated project cost (https://www.ohloh.net/p/open-sauce) for OpenSauce is 3.8 million, but we haven't received a penny for any of our efforts. Of course, we've never asked either. Just because you ask for donations, doesn't mean it will happen. Especially when the majority of the community is under the drinking age.

sehe
September 27th, 2011, 06:15 PM
I said cuz already 4-5 ppl promised, not for QQ ing :D ^^ nvm forget it =)

homebrued
September 27th, 2011, 07:43 PM
Thank you for the combined executable, sehe. I saw the "/afk" feature and really liked the idea. Awesome:thumbsup:

POQbum
September 27th, 2011, 08:17 PM
I said cuz already 4-5 ppl promised, not for QQ ing :D ^^ nvm forget it =)
Yes don't worry you will get one from me as promised :)
I appreciate your work, thanks.

---------
I am getting an issue I can't seem to resolve.
When I start up the server I get an error
"ERROR: sapp init not found!"
I have the events.txt in the right place, what's the issue?

Sean Aero
September 28th, 2011, 08:49 AM
The estimated project cost (https://www.ohloh.net/p/open-sauce) for OpenSauce is 3.8 million, but we haven't received a penny for any of our efforts.

I was actually wondering this, where is your donation button? :(
Not that you have to ask for donations and such to keep going but at times it might be a little motivator to find a few $$$ as a donation.
Especially if your stagnating like the lines of code graph shows.
It usually not the cash that matters here but just the fact that people actually show some appreciation for all the free time you put into it.
I had multiple people donate a pizza or a beer which just feels awesome because you know there are people out there that really care about your project/effort and hope you'll keep working on it.

As for SAPP donations, I'm using Gandanur :/

supersniper
September 28th, 2011, 11:17 AM
well gandanur is also in partership with halorank is it not?

{XG}Gijs007
September 28th, 2011, 11:45 AM
sehe isn't asking for donations, its just that a few people told him they would donate if he would fix certain things and they didn't so far.

btw: I will donate you some cash later as I already told you;)
for your information: {XG}clan is also accepting donations for hosting servers and sapp website;)

Sean Aero
September 28th, 2011, 12:04 PM
well gandanur is also in partership with halorank is it not?
Yes it is, but I'll leave that story for some other time.

sehe
September 28th, 2011, 12:19 PM
I am getting an issue I can't seem to resolve.
When I start up the server I get an error
"ERROR: sapp init not found!"
I have the events.txt in the right place, what's the issue?

You have to put there an init.txt also, which contains the sapp commands, which were in the halo's init.txt after the 'load'. Now you only have to put the load command to that init.txt, and other sapp commands to the "gametypesfolder\sapp\init.txt" file, so if you unload-load sapp then it will read those commands, so you don't have to re-type them again.

sehe
September 28th, 2011, 05:14 PM
Damn, I'm stuck. There is some bug in calling "execute command" command (like sv_map_reset, sv_map_next, etc.) from sapp... Both this 2 calling method have the same fault:
//1st, orig;
ExecuteCommandRaw = ( int(__cdecl*)(const char*) ) 0x0047EA30;
int ( __cdecl *ExecuteCommandRaw)(const char *cmd);
int result = ExecuteCommandRaw(command.c_str());

//2nd
long addr = 0x004B3990; // the highest call, in the end this call 0x0047EA30
char* cmd = (char*)command.c_str();
__asm
{
pushad
pushfd
mov edi, cmd
call addr
popfd
popad
}

both can successfully execute commands EXCEPT the "sv_map map mode" command. Well also this too, but then SOMETIMES Halo gets Access Violation error and crash. Sometimes for the first execute, sometimes just for the idk 5th.. Any ideas y dis happens?

Kornman00
September 28th, 2011, 07:11 PM
Here's a crazy thought, try copying the script string to a local (ie, stack) buffer and passing that to the engine's console_process_command

sehe
September 29th, 2011, 04:05 AM
Yh, i tried that too xD Copied the cmd string to the console buffer as if you wrote it here, and then called console_process but still has the same bug :/ Strange isn't it? o_O

urbanyoung
September 29th, 2011, 04:26 AM
Look at how the server calls console_process_command. Look at what data the server passes to the function, through both the stack and registers. I talked to you on xfire and assumed you were using a different function, so what I told you was wrong.


004B3AC0 |> \57 PUSH EDI
004B3AC1 |. C605 4D3B6100>MOV BYTE PTR DS:[613B4D],1
004B3AC8 |. E8 63AFFCFF CALL halocede.0047EA30
004B3ACD |. 83C4 04 ADD ESP,4

You need to push the command to execute, registers aren't used. Don't forget to check for whose responsibility it is to offset the stack, in this case it's the caller's (your) responsibility so the add esp, 4 instruction is important.

Patrickssj6
September 29th, 2011, 04:36 AM
Great... The Sapp and Unify are incompatible cuz they are using the same location in the exe ... WHY?

OMFG!
Took me kinda 2h but I patched together the 2 exes, and it looks like it finally works!!!

I made a SAPP version for Unify some time ago but dropped it because it had some problems. You just have to fill the blank space between the cave and Halo's code because SAPP searched for an empty space in between.

Good work so far! Can't help much because I moved and don't have www.

Kornman00
September 29th, 2011, 04:41 AM
The engine was compiled with __cdecl as the default calling convention, so it will always be up to the caller to clean up the stack after calling an engine-based function.

Also, console_process_command doesn't take the input buffer as a stack argument, he's doing it correctly with edi. There's only one stack argument for the function, the access flags, and 0 is perfectly fine for the most part.

urbanyoung
September 29th, 2011, 04:44 AM
I used the first address he posted and just called it console_process_command because that sounds like a decent enough name. I originally thought he was using the lower level function but checked the address he posted and it's the higher level function that uses registers.

edit: lol, saw he posted two function addresses.... my bad

edit2: you said it only happens sometimes and your call looks right, so something else is probably corrupting something in halo's memory and this is just the symptom of the issue. Try removing your hooks and see if the crash still occurs, if not add them again a few at a time.

sehe
September 29th, 2011, 07:20 AM
You just have to fill the blank space between the cave and Halo's code because SAPP searched for an empty space in between.
Yes, but sapp and Unify were using the same blank space xD So i had to move Unify's code a bit down, and rewrite the addresses.


Yh... well, if the calls are good (i tried about 100 other ways too, but neither of them works), and sth is corrupting halo's memory, then y its only fails when sapp calls the cmd_exec func, and y its good if i execute a command from console?

Skyline
September 29th, 2011, 08:14 AM
process_console_command or whatever you want to call it isn't thread safe, if you are executing it in your own thread that might be the problem.

sehe
September 29th, 2011, 02:35 PM
yeah, seems so.. some halo thread gets crashed if i call cmd execution from sapp.. :/ so what now? xD i'm out of ideas lol

urbanyoung
September 29th, 2011, 04:10 PM
You should only interface with the server's functions from the server's main thread. If SAPP creates any threads they cannot interface with the server directly. I don't know why SAPP would need multiple threads, but that's probably the issue.

sehe
September 29th, 2011, 04:26 PM
nah, if i call cmd execute from the halo thread its buggy too.. :/

Kornman00
September 29th, 2011, 05:39 PM
Is SAPP even open source? Not sure how to help without being able to see what code is trying to execute

sehe
September 29th, 2011, 05:43 PM
No, its not :/ But i think i figured out how to call a command without call it :D Yes, i let halo console thread to call it xD

sehe
September 30th, 2011, 01:52 PM
Yay FIXED now its stable as HeLL xD

Cloud
September 30th, 2011, 02:14 PM
Yay FIXED now its stable as HeLL xD

o_o im scared of hell....

xD sike awesome bout to test it now sehe
Thank you for your hard work.

sehe
September 30th, 2011, 04:50 PM
It's released now, u can test it =) v1.6.0
xhalo.tk

edit: If you downloaded SAPP before this post (v < 1.6.0) then it wasn't the fixed one!
Also, don't forget to replace the exe too.

homebrued
September 30th, 2011, 10:28 PM
I noticed a small typo in the logging system.

2011-09-30 17:00:08 QUIT Player Quited, Name: New001
Should be...

2011-09-30 17:00:08 QUIT Player Quit, Name: New001
Just a fyi.

eden419
October 1st, 2011, 01:01 AM
i wondered wat that was

sehe
October 1st, 2011, 09:35 AM
lol thx, my English grammar sux :/

{XG}Gijs007
October 1st, 2011, 11:13 AM
Just scanned true the entire code to fix typo's, mistakes and grammar.

sehe
October 1st, 2011, 07:02 PM
Edit: 1.6.2 is out ^^
- String fixes
- Server messages 'fixed', no more "[sehé°°]: Hy sehé°°!", only "Hy sehé°°!" ^^
- Now you can temporary Ban/IPban players, Example:
b 4 2h "betraying" = cd key hash ban player 4 for 2 hours ('x'd = 'x' day, 'x' h = 'x' hour, 'x' m = 'x' minute long ban)
ipban 3 3600 "hogs in tuns" IP-ban player 3 for 3600 seconds = 1 hour
textban 13 600 = TextBan player 13 for 10 min (600 sec)
- New player expression 'rand' http://www.modacity.net/forums/images/smilies/wink.png
- log_rotation command for sapp log, default value is 4096 (kb), minimum is 1024 =)
- spawn_protect changed to spawn_protection (lol)
- some other bug fixes
- i don't remember for the other changes... xD

Cloud
October 3rd, 2011, 01:18 AM
kk gotta switch again xD
also about the anti spam i tried it for a bit and it didnt ban me? Whats the specifics on that?

EDIT: Where is the ipban list stored? so i can manually do it?

{XG}Gijs007
October 3rd, 2011, 10:35 AM
kk gotta switch again xD
also about the anti spam i tried it for a bit and it didnt ban me? Whats the specifics on that?

EDIT: Where is the ipban list stored? so i can manually do it?
haloceded.exe folder> /sapp/ipbans.txt

sehe
October 3rd, 2011, 01:11 PM
You have to enable it first, antispam 1

{XG}Gijs007
October 3rd, 2011, 03:06 PM
Just made some updates to the site to make it look a bit cleaner + some stuff was outdated and is now updated, also optimized some of the examples.

Cloud
October 3rd, 2011, 03:08 PM
Thanks guys but the issue im still having is i turn the logging on and it logs for about 20 min? maybe then stops... heres my init.txt
its basically the same as the on on your website because i didnt have time to mess with it. I had the issue with the old sapp. :/

sv_name "SmG 02"
sv_maxplayers 16
sv_motd "motd.txt"
sv_rcon_password sappizl33t
sv_log_file "SmG02SAPTESING"
sv_log_enabled 1
sv_log_echo_chat 1
sv_log_rotation_threshold 1000
sv_friendly_fire 1
sv_mapcycle_timeout 5
sv_mapcycle_add bloodgulch "CTF"
sv_mapcycle_add sidewinder "CTF"
sv_mapcycle_add dangercanyon "CTF"
sv_mapcycle_add timberland "CTF"
sv_mapcycle_begin

; sapp commands should be placed after sv_mapcycle_begin
load
v1
afk_kick 300
ping_kick 600
antihalofp 1
anticaps 1
antispam 1
map_skip 51
spawn_protect 5
aimbot_ban 20000 2

{XG}Gijs007
October 3rd, 2011, 03:30 PM
Thanks guys but the issue im still having is i turn the logging on and it logs for about 20 min? maybe then stops... heres my init.txt
its basically the same as the on on your website because i didnt have time to mess with it. I had the issue with the old sapp. :/

sv_name "SmG 02"
sv_maxplayers 16
sv_motd "motd.txt"
sv_rcon_password sappizl33t
sv_log_file "SmG02SAPTESING"
sv_log_enabled 1
sv_log_echo_chat 1
sv_log_rotation_threshold 1000
sv_friendly_fire 1
sv_mapcycle_timeout 5
sv_mapcycle_add bloodgulch "CTF"
sv_mapcycle_add sidewinder "CTF"
sv_mapcycle_add dangercanyon "CTF"
sv_mapcycle_add timberland "CTF"
sv_mapcycle_begin

; sapp commands should be placed after sv_mapcycle_begin
load
v1
afk_kick 300
ping_kick 600
antihalofp 1
anticaps 1
antispam 1
map_skip 51
spawn_protect 5
aimbot_ban 20000 2
I suggest you re check the website, (setup page) some commands where changed. also try adding the log 1 command which allows sapp to make log files this hopefully fixes your problem.
Although its not supposed to stop logging after 20 min which is odd...
btw I suggest you remove the spawn protect from your init for now, because we just found out the current version is having issues with this. -sehe is currently working on fixing this.

homebrued
October 3rd, 2011, 09:17 PM
My issue is where to put the mapvote options. I have typed them up. I have even tried putting them in the mapvotes text file but i believe that is a log for what has happened on the voting system cause when i put the options in the mapvotes text file and reload sapp it clears that text file. I would post this on the sapp forums but this is much more active. Thank you ahead of time.

Cloud
October 4th, 2011, 12:46 AM
just figured it out the logging issue i think it was my fault.

{XG}Gijs007
October 4th, 2011, 08:39 AM
My issue is where to put the mapvote options. I have typed them up. I have even tried putting them in the mapvotes text file but i believe that is a log for what has happened on the voting system cause when i put the options in the mapvotes text file and reload sapp it clears that text file. I would post this on the sapp forums but this is much more active. Thank you ahead of time.
I got no idea what you are doing wrong but everything works fine here.
Make sure you save the file as mapvote.txt in the sapp folder which can be found in the gametypes folder.

I have updated the mapvote page on the sapp website because the previous explanation wasn't clear.

{XG}Gijs007
October 4th, 2011, 01:13 PM
Update 1.6.3 is out.
change log:
ripped spawn protect because it crashed the server.
improved god -now players really cant get killed except with kill expr
say_prefix [enabled] -This will add ** server ** before say messages.

flamewheel06
October 4th, 2011, 01:44 PM
you should fix server crash/restart when loading/unloading sapp in order to update

{XG}Gijs007
October 4th, 2011, 04:45 PM
you should fix server crash/restart when loading/unloading sapp in order to update
Which version where you using before the update where it crashed?

Cloud
October 4th, 2011, 05:01 PM
quick question the sapp events are now in the My games folder? How would i go about changing them for each server differently.

homebrued
October 4th, 2011, 09:28 PM
So there needs to be a mapvotes.txt and a mapvote.txt in the sapp folder? The mapvote.txt has the options correct?

flamewheel06
October 4th, 2011, 10:11 PM
Which version where you using before the update where it crashed?

1.6.2 and updated to 1.6.3
it crashed when i unloaded sapp and loaded again to complete update of 1.6.3

you should also fix server crashing when restrating due to the admin.txt file in sapp folder
it works after deleting the admin.txt file from sapp folder but when its in there the server dont restart when u want to restart instead it keeps crashing in an instance as soon as you restart server

POQbum
October 4th, 2011, 11:11 PM
I have a question..
is it possible to do this in the events

"event_tk 4 'wait 4500;ipban $n 129600' "
129600 represents seconds for the temporary IPban. The ban goes through but I don't know if it's going through as temporary.

-----
I also have a rather large request..
could you move the sapp folder back to where it was before? The way our servers are setup, 2 servers share this "new" sapp folder in the gametypes. This has obvious bad consequences since each of our servers have different commands/features/events that should be used with sapp.

Was there a problem with it being in the old location?

{XG}Gijs007
October 5th, 2011, 09:30 AM
So there needs to be a mapvotes.txt and a mapvote.txt in the sapp folder? The mapvote.txt has the options correct?
No, only a fille called mapvotes.txt.


1.6.2 and updated to 1.6.3
it crashed when i unloaded sapp and loaded again to complete update of 1.6.3

you should also fix server crashing when restrating due to the admin.txt file in sapp folder
it works after deleting the admin.txt file from sapp folder but when its in there the server dont restart when u want to restart instead it keeps crashing in an instance as soon as you restart server
Odd, I thought sehe fixed this a few releases back... I had this issue to with 1.6.1 or maybe it was 1.6.2, he will look into it.


I have a question..
is it possible to do this in the events

"event_tk 4 'wait 4500;ipban $n 129600' "
129600 represents seconds for the temporary IPban. The ban goes through but I don't know if it's going through as temporary.

-----
I also have a rather large request..
could you move the sapp folder back to where it was before? The way our servers are setup, 2 servers share this "new" sapp folder in the gametypes. This has obvious bad consequences since each of our servers have different commands/features/events that should be used with sapp.

Was there a problem with it being in the old location?

This should work fine;)

Question 2: you can set up a gametypes folder for each server with the -path command in the shortcut.
Example: -path "C:\Program Files (x86)\Microsoft Games\Halo Custom Edition"

Maybe sehe can make a switch in init file, or compile a special edition for you. But I suggest you just use the -path shortcut argument.

sehe
October 5th, 2011, 09:36 AM
1. Yes.
2. I don't understand. If i moved back all sapp files to haloce\sapp then the servers would still share the files. Thats y I moved those to gametypes\sapp, since is still better to copypaste a gametypes folder than the whole halo.

---

Other. There were 2 bug in admins file loading, thats caused the crashes at reload. Tho I used strcpy_s (tbh it was useless), its still crashed at "name hacked" player names. (buffer overflow)

Also found a kinda "epic fail"; the password were logged too to sapp log file (if it was enabled) when players used the \login command. (only in v 1.6.0 - 1.6.3)

The fixes will be in 1.6.4
edit; ok its out :P

Cloud
October 6th, 2011, 12:56 AM
Another good feature you should make is Anti Curse words for chat.
so if someone says FKKK YOU it changes it to **** You

Kornman00
October 6th, 2011, 01:09 AM
Why?

Cloud
October 6th, 2011, 01:16 AM
Why?

like word censorship.

works like the F word and what.

Donut
October 6th, 2011, 01:38 AM
yeah but, why?

supersniper
October 6th, 2011, 01:50 AM
for the little kids in his clan that play in his servers. that's why.

Kornman00
October 6th, 2011, 02:21 AM
It's the internet, and not to mention an online game, it kind of comes with the territory.

Donut
October 6th, 2011, 03:44 AM
it IS halo 1 though. i mean i understand its kind of innane to block profanity online, but at least its not like bad company 2 where the guys ingame yell "mother fucker" all the time anyway.

{XG}Gijs007
October 6th, 2011, 04:06 AM
Another good feature you should make is Anti Curse words for chat.
so if someone says FKKK YOU it changes it to **** You
Then someone has to make a huge black list of bad words, and people could still bypass it by making typo's or what ever so I don't really see the point in making such a function.
Beside everyone will get in touch with bad words sooner or later anyway, so who cares?

sehe
October 6th, 2011, 04:47 AM
I tough for this too, but as Gijs said, it would be a LOT of work to make a working censorship, so it doesn't worth it :/

TPBlinD
October 6th, 2011, 08:08 PM
Fuck censorship.

sehe
October 7th, 2011, 08:24 AM
OK, 1.6.5 is out with some fixes;
- Improved unloading
- You don't have to login again at new game, and won't 'lose' your game time at \stats
- There are some security check at kill command for more stability, so it can't crash the server

POQbum
October 7th, 2011, 02:12 PM
Question 2: you can set up a gametypes folder for each server with the -path command in the shortcut.
Example: -path "C:\Program Files (x86)\Microsoft Games\Halo Custom Edition"
My setup uses
server1 = all server files EXCEPT for gametypes for the 1st server
server2 = all server files EXCEPT for gametypes for the 2nd server
"/home/poqbum/My Games/Halo CE" = gametypes for BOTH servers

the pathway shortcut does not help me in this situation, or can it? I haven't been able to get it to route to 2 separate gametype locations.

I get this error when attempting:
http://i.imgur.com/Sbbq9.png

{XG}Gijs007
October 7th, 2011, 02:27 PM
My setup uses
server1 = all server files EXCEPT for gametypes for the 1st server
server2 = all server files EXCEPT for gametypes for the 2nd server
"/home/poqbum/My Games/Halo CE" = gametypes for BOTH servers

the pathway shortcut does not help me in this situation, or can it? I haven't been able to get it to route to 2 separate gametype locations.

I get this error when attempting:
http://i.imgur.com/Sbbq9.png
Thats an ssh/wine problem not with sapp, try installing a gui on your linux box and use vnc or something.

POQbum
October 7th, 2011, 02:59 PM
nevermind I found the problem, I put the command in wrong. Works great, changing my servers over to the newest version now.

>>>>>>>>
The kill command does not work :/
can you fix?

sehe
October 7th, 2011, 08:48 PM
I no, its fixed now, u can download it =)
Also made some optimizations in SAPP thread, and spawn protection is back, test it, mb some player will stay invincible till new game, idk xD

POQbum
October 7th, 2011, 09:09 PM
mb some player will stay invincible till new game, idk xD
oh this sounds promising lol

I just updated all my servers to the other version and it took nearly an hour, so I'll probably update this in a few days. Actually I'll probably test it first to make sure all the features work, then update :D

sehe
October 8th, 2011, 06:57 AM
All features should work now, only this bug can happen, idk, don't had time to test it, but when i tested it was OK.
Btw, if you want to update, w8 till 1.7, cuz in that every command will be OOP-ed, and there will be a possibility to set custom admin levels.
And a mb a new feature, sv_map_prev / prev xD
Ah right, if sb have some feature request, tell me now ^^

Cloud
October 9th, 2011, 04:32 PM
Thanks for your hard work i love looking back here and seeing an update id like to see censorship but D: ok i guess ill work on it.

{XG}Gijs007
October 10th, 2011, 10:36 AM
I'm currently working on a databse connection for sapp, we could use this to store ipbans and share them with multiple servers(even have a master banlist or something), and possibly add a ranking system and stuff just like gandanur.

Ill work on this next weekend or in my vacation which starts the 22nd of this month.

btw: sehe I send you a PM on my forums, please check it out asap.

t3h m00kz
October 10th, 2011, 11:17 AM
The auto text ban should give you a fucking warning before banning people forever for spamming, just sayin

sehe
October 10th, 2011, 12:26 PM
Thats not forever ^^

t3h m00kz
October 10th, 2011, 04:33 PM
Oh shit

Nothing communicates that. I figured it was permanent

Cloud
October 11th, 2011, 12:14 AM
I tough for this too, but as Gijs said, it would be a LOT of work to make a working censorship, so it doesn't worth it :/

If you go this far why stop now...

sehe
October 11th, 2011, 07:18 AM
I'm busy, and want to deal with more important stuff ^^
Also, its an FPS game where ppl actually Killing each other, so idk why should i put censorship.. Its like removing the blood from the game...

{XG}Gijs007
October 11th, 2011, 10:24 AM
If you go this far why stop now...
Learn c++ yourself if you really need it.

POQbum
October 11th, 2011, 04:56 PM
sehe the only other feature that would be great to have is iprange banning. Often there are players who bypass the ipban and have multiple hashe's, so they rejoin quickly and frequently after being banned. Right now I have to do it at the server-level but it takes a really long time and admins are not able to do it, they have to wait on me.

{XG}Gijs007
October 12th, 2011, 10:13 AM
sehe the only other feature that would be great to have is iprange banning. Often there are players who bypass the ipban and have multiple hashe's, so they rejoin quickly and frequently after being banned. Right now I have to do it at the server-level but it takes a really long time and admins are not able to do it, they have to wait on me.
Sehe is working on this already ;)
Although I think its important to add white lists as well, where you can exclude a single ip from getting banned.

I noticed that ipbans don't work when running multiple servers, the banlist file gets corrupted(eg only 12 of the 100+ bans are loaded) or ipbans don't share between servers(until the file gets reloaded, which doesn't happen that often). -I still think a database could solve this problem, so ill keep working on this.

POQbum
October 12th, 2011, 06:19 PM
Sehe is working on this already ;)
Although I think its important to add white lists as well, where you can exclude a single ip from getting banned.

I noticed that ipbans don't work when running multiple servers, the banlist file gets corrupted(eg only 12 of the 100+ bans are loaded) or ipbans don't share between servers(until the file gets reloaded, which doesn't happen that often). -I still think a database could solve this problem, so ill keep working on this.
good that he's working on this. My biggest fear is that he's going to abandon this project. It's come such a long way from the old sapp, my servers actually stay online now :D

{XG}Gijs007
October 13th, 2011, 09:15 AM
good that he's working on this. My biggest fear is that he's going to abandon this project. It's come such a long way from the old sapp, my servers actually stay online now :D
I don't think he's going to abandon the project any time soon if people keep donating, unless he gets to busy with real life stuff.

The issue we are currently facing is that we are kind of out of inspiration, and the only good idea's we come up with would take ages to program and debug.

sehe
October 14th, 2011, 12:59 PM
I fixed some critical bug in v 2.0 RC1, also made some fixes in admin system v1, and finished IP range banning, it works fine ^^ I'll release RC2 tomorrow =)
Other; Some months ago Gandanur's remote control's source code was available, but now its not in the site and i lost it also. Could somebody give it to me pls? So i can make sapp compatible with it.

sehe
October 15th, 2011, 09:45 AM
Version 2.1 has been released! http://xhalo.tk
And since I have to concentrate to Uni now, I'll slow down with the developing a bit, so there wont be new updates for a week or two. =)

POQbum
October 16th, 2011, 11:50 AM
Version 2.1 has been released! http://xhalo.tk
And since I have to concentrate to Uni now, I'll slow down with the developing a bit, so there wont be new updates for a week or two. =)
great I'll check this one out. :D

I also noticed that on 2.0 (maybe the version before)? the auto aimbot banning didn't seem to be picking up anyone even at the lowest setting. Are you sure this is still a functional feature?

{XG}Gijs007
October 16th, 2011, 02:31 PM
great I'll check this one out. :D

I also noticed that on 2.0 (maybe the version before)? the auto aimbot banning didn't seem to be picking up anyone even at the lowest setting. Are you sure this is still a functional feature?
Works fine here, at least I still see people getting scores.

{XG}Gijs007
October 18th, 2011, 04:16 PM
Some idea's I came up with:

Turning off event join messages for admins.
and spam;)



Squads in halo (something like in the battlefield series)

Players are able to form squads in order to more effectively work as a team. Up to 4 squads are permitted per team; each squad has a number (automatically assigned) and name (usually a phonetic alphabet letter) for identification.

Members of a squad may spawn near their squad leader, provided that the leader is not dead, This feature allows squads to more quickly regroup after taking casualties.

\squads shows a list of squads on your team
\join 1=join squad 1
\createsquad = create squad

the person who creates a squad =squad leader, everyone else spawns/teleports on him after they respawn. (unless squad leader is dead ofc)

optional extra: spawn on squad leader after you give the \spawn command. (only in the first 60 sec after spawn) -this if for big maps e.g coldsnap where you want to get a vehicle first.

sehe
November 6th, 2011, 07:52 AM
Version 2.3 is out!

Main new features since my last post are the following:
- rcon handling + bruteforce protection
- changing command's name and level
- player(s) to player teleporting
- improved god mode + spawn protection
- hp, sh, ammo, ammo_mult, nades (set health, shield, ammo, nades)
- new events (spawn, die, quit + start and end event can be map-specified)
- random_bonus (gift mod)

Check out the site for more details http://www.modacity.net/forums/images/smilies/smile.png
http://xhalo.tk (http://xhalo.tk/)

Alexgodcool
November 17th, 2011, 08:11 PM
It's just me or your server is down?

Maybe this more effect log

EDIT:
>ping www.xhalo.tk (http://www.xhalo.tk)

Pinging www.xhalo.tk (http://www.xhalo.tk) [93.170.52.30] with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.

Ping statistics for 93.170.52.30:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

EDIT #2: Nvm, got it under http://www.1xgclan.com/sapp/

{XG}Gijs007
November 18th, 2011, 05:52 PM
It isn't down, but my webserver doesn't allow icmp ping.

Patrickssj6
November 18th, 2011, 07:32 PM
http://www.downforeveryoneorjustme.com/

{XG}Gijs007
November 19th, 2011, 10:00 AM
It could have been down, sometimes I reboot my server(for windows updates, and other crap that requires a reboot).
But it has an SSD in it so this should only take about 1 minute and it happens rarely.

sehe
November 23rd, 2011, 05:33 PM
v2.5 is out, check the site =)
http://xhalo.tk or http://www.xgclan.com/sapp (http://www.xgclan.com/sapp/) ^^

Cortexian
December 2nd, 2011, 04:30 PM
While using 2.5.1:

Problem signature:
Problem Event Name: BEX
Application Name: haloceded.exe
Application Version: 1.0.9.620
Application Timestamp: 4ac7fb12
Fault Module Name: sapp.dll
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 4ed69708
Exception Offset: 0002e1e6
Exception Code: c0000417
Exception Data: 00000000
OS Version: 6.1.7601.2.1.0.256.48
Locale ID: 4105
Additional Information 1: caef
Additional Information 2: caef1ff8a5071add140633a0354e42bc
Additional Information 3: eb15
Additional Information 4: eb15496e80f0978055fe3e28f3b8b2af

Cortexian
December 7th, 2011, 03:25 PM
Also, I'd like to know where SAPP stores the command levels when you change them using "setcmd"? It seems like they're stored when the server restarts and such, so I assume the commands are stored internally in the app code somewhere.

I'd like to see a list of all commands generated when SAPP first runs with default admin levels. Then editing the commands would occur via the text file.

{XG}Gijs007
December 9th, 2011, 07:55 AM
Also, I'd like to know where SAPP stores the command levels when you change them using "setcmd"? It seems like they're stored when the server restarts and such, so I assume the commands are stored internally in the app code somewhere.

I'd like to see a list of all commands generated when SAPP first runs with default admin levels. Then editing the commands would occur via the text file.
The default commands are stored inside the dll and will not be saved in a txt file, if you want to change them with setcmd add it to your init file.

Cortexian
December 10th, 2011, 02:59 AM
Once I use setcmd does it save the commands though? Or must I add them to the init for it to save the commands every time I launch the server?

Cortexian
December 11th, 2011, 12:52 PM
It happened again:

Problem signature:
Problem Event Name: BEX
Application Name: haloceded.exe
Application Version: 1.0.9.620
Application Timestamp: 4ac7fb12
Fault Module Name: sapp.dll
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 4ed69708
Exception Offset: 0002e1e6
Exception Code: c0000417
Exception Data: 00000000
OS Version: 6.1.7601.2.1.0.256.48
Locale ID: 4105
Additional Information 1: caef
Additional Information 2: caef1ff8a5071add140633a0354e42bc
Additional Information 3: eb15
Additional Information 4: eb15496e80f0978055fe3e28f3b8b2af

I would also like to request that the app display a message to all players when admins login (using v2 admin management), or when they join the server using v1 admin management.

{XG}Gijs007
December 13th, 2011, 10:45 AM
Once I use setcmd does it save the commands though? Or must I add them to the init for it to save the commands every time I launch the server?
Yes you need to add it to the init for the command to be saved.
Btw: the website is having issue's at the moment because my internet connection is broken.
I've told my isp to fix it and a network engineer will fix it Friday.

Cortexian
December 19th, 2011, 12:38 PM
Another error report for those of you still working on this:

Problem signature:
Problem Event Name: BEX
Application Name: haloceded.exe
Application Version: 1.0.9.620
Application Timestamp: 4ac7fb12
Fault Module Name: sapp.dll
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 4ed69708
Exception Offset: 0002e1e6
Exception Code: c0000417
Exception Data: 00000000
OS Version: 6.1.7601.2.1.0.256.48
Locale ID: 4105
Additional Information 1: caef
Additional Information 2: caef1ff8a5071add140633a0354e42bc
Additional Information 3: eb15
Additional Information 4: eb15496e80f0978055fe3e28f3b8b2af

sehe
December 20th, 2011, 12:41 PM
omg... absolute accidentally i found the bug which caused these strange crashes, its fixed now.. and OK, i will do this admin alert stuff and post the fixed dll with it..give me few hours ^^

Edit: done, u can download now the fixed dll with admin notice function: http://xhalo.tk
Note that you won't see the message since sapp sends it even before u joined. This command is disabled by default, u can enable it with the adminnotice 1 command. =)

Cortexian
December 20th, 2011, 05:43 PM
So that is for people using the v1 admin management right? It won't work for admin management v2?

EDIT: Never mind, I read the description in the changelog. It displays the message for V2 admins when they login. Awesome!

sehe
December 23rd, 2011, 05:01 AM
Currently the internet at the website hoster is totally f*cked up, during the downtime u can download sapp here: http://www.mediafire.com/?2ydh9825n4x61qd
Edit: Right after i uploaded mediafire became unavailable...great.
Edit2: Ok it seems its good now. Additionally, for the downtime, I forwarded xhalo.tk to this link too.

{XG}Gijs007
December 23rd, 2011, 07:47 AM
27th the network engineer will come and hopefully fix it properly this time.:ohdear:

Cortexian
December 23rd, 2011, 08:36 AM
I can host a mirror of the site if you'd like, downloads and all.

I'll send you FTP information and you can upload it.

sehe
December 24th, 2011, 05:50 AM
Ok, i'm done with setting up a very simple page, thx :)

Cortexian
December 24th, 2011, 02:02 PM
No problem.

Lancers Edge SAPP Mirror:
http://lancersedge.dyndns.org/sapp

eden419
December 28th, 2011, 02:46 PM
in reference to this http://forum.dgclan.com/viewtopic.php?f=13&t=15717 is it possible for sapp to textban the Ip and not the hash>?

{XG}Gijs007
December 31st, 2011, 03:41 PM
Ok i've fixed the website and updated the sapp download links.
Also I've fixed some grammer mistakes;)

sehe
January 8th, 2012, 10:45 AM
Sapp 2.7 is done, now it's in testing phase :P
New features will be:
- mute players: same as textban just based on IPs as it was requested.
- reload: reload all data from sapp files.
- refresh ipbans file: load new ipbans from the ipbans file and write out new ones.
New events:
- weapon pickup (weapon, frag, plasma nade), vehicle enter, vehicle exit
Features transfered from Phasor (An open-source Halo PC App, credits to Oxide, he made great job) :
- Object creating / destroy created ones
- Give a weapon to the player's hand (up to 4), or delete them
- Enter a player to one or more vehicles in the same time
- List the spawned objects
ps. don't think it was a "copypaste" work, i'd much job with it too :P

I'm going to release it in the end of the next week, but if you write me on Xfire I can send it for beta-testing ^^

Cortexian
January 8th, 2012, 08:15 PM
A very needed feature in my opinion is the ability for admins to change their password. Otherwise the person adding an admin using the V2 management system knows everyone's password, which isn't very secure.

sehe
January 9th, 2012, 07:26 AM
Ah yeah, I wanted to do this just forgot it, I've been busy with the object spawning stuff :P I'll make a command for that. Also, a new feature will be that (if enabled) if players lag out / crash or whatever but they come back, they will get back their previous stats (scores, kills, assists, deaths).

Edit: Another thing I forgot: Unify exe won't be supported anymore, since its have a inexplicable bug which makes the server very unstable and causing weird crashes about once / day. Don't worry, u can do the same thing with a simple sapp script, its tested and stable; just put this to the commands.txt file:
unify 'v1;w8 20;v3;w8 20;unify'
and put the unify command to the sapp's init.txt file.
Thats all, it will change the version every 20 sec, ofc u can set your own "timers".

{XG}Gijs007
January 13th, 2012, 10:11 AM
A very needed feature in my opinion is the ability for admins to change their password. Otherwise the person adding an admin using the V2 management system knows everyone's password, which isn't very secure.
So what's wrong with it? he/she knows the password of the admin(s) he/she added but to be able to add admins you have to have be a level 4 admin in sapp (unless adminadd level was changed in the init)
So he likely owns the server or he is one of the head admins who can add others at least he must be trusted by the server operator if he has this ability + he's an admin him self, so I don't really see the reason.
Beside the password can still be readen from the files, so if you want to make it really secure we would have to implement some kind of encryption.

Cortexian
January 13th, 2012, 11:00 AM
Yes I know, I'm the admin running my servers.

The fact that I need to know the password of every single one of my admins is a huge security flaw, all I should be able to do is set a temporary password that new admins can use to login for the first time. Then they can change their password to something more personal, and easier to remember, after the fact.

The passwords are already encrypted in the SAPP files.

sehe
January 13th, 2012, 11:20 AM
Yeah I agree, tho I made a function, however, passwords will be still in the sapp logfiles, so don't give them to any1. :P

Other; some good and bad news:
Good news that I upgraded a bit the event system, and now its more flexible. In the new system, you can set "infinitive" arguments as criterion to any events, and event will only execute if all passed. Examples:
event_join $lvl>2 'say * "Admin, Banhammer $name joined!'
event_spawn $map:bloodgulch $mode:tssnipers50 $team:blue 't $n loc_bt$rand'
event_kill $kills=50 'say * "$name has 50 kills!"'
event_die $kills<5 $deaths>20 'k $n Drunk'
event_killstreak $killstreak=5 'say * "$name is on killing spree!"'
etc. ^^
Bad news:
The old events file is not compatible with this, you might have to edit it. :/
Also, probably release delayed to the next week.

Cortexian
January 17th, 2012, 11:20 AM
I like the per-level admin join message.

I might switch my admins back to V1 admin management to make use of it.

sehe
January 18th, 2012, 06:11 PM
Eheh, u don't need, i removed admin notice since you can do it with this event system as you can see. I also made a login event for v2 admins, so u can do the same with them.
In the past days, I rewrote some part of code for optimization and stability. Now the server seems very stable, even with substantial usage of the new code with object creation etc. In additionally, I replaced Halo's "Autobalance" function which was usually failing. Whit this, players rly can't switch teams unfairly, if autobalance is enabled in the game mode.

sehe
January 26th, 2012, 06:17 PM
SAPP 3.0 is out, http://xhalo.tk, check the site :)

mywarthog
February 12th, 2012, 03:11 PM
Got some feature suggestions!

1) Show all players - If you are admin, this will allow you to view indicators over everyone. For enemies, maybe this could be done by using the blue target diamonds over them, and showing their name on top of them. For friends, it would use the normal green triangle method. It would only display them to the command user, and can be turned off by using the command again. This is good for if you are using the teleport command and want to know what members are where, and is also useful for checking for cliffers, and players who are where they are not supposed to be, without the use of a Sight Jacker.

2) Show the enemies flag at all times - Shows the indicator for the enemy flag to the command user at any time, no matter how far away it is, or if it's at base. Also turns on the indicator for your teams flag for you only, if the game type has it turned off. An example fo a use would be on the yoyorast map, where you could check and see if users are hiding the flag in the secret room without needing an SJ, or something similar. That, coupled with the feature listed above that would show the names of the players on the other team, could help catch cheaters that use those kinds of glitches.

3) AFK Improvements - Allows admins to set other users into AFK mode. Example: /afk [player_index]. It will print a notice to the user if the admin has set them AFK. Also, allow for events for when a user becomes AFK, and goes out of AFK, to allow for admins to set up things such as notifications to the server when the user goes AFK, or comes back from being AFK, and also have periodic reminders to AFK users that they are in AFK mode, may still be kicked, and that they need to use the /afk command again when they are ready to play again. Also, allow the admins to alter the afks times for each user, and see who currently is using the afk command.

:)

{XG}Gijs007
February 16th, 2012, 10:31 AM
1: Blue is not possible as this is client sided, green might be possible but I think its client sided as well.
2: Likely also client sided.

I would like to see a grace period for the camp_detection.
For example when its set to kick at 3 kills and you kill a fully loaded warthog you might get kicked.

Cortexian
February 16th, 2012, 01:26 PM
Client sided means it's not possible with a server-sided app like SAPP, just to be clear.

mywarthog
February 16th, 2012, 11:43 PM
If it is... couldn't the server "trick" the client?

Example... have the server tell the client that all of the other team should be marked as targets, and display their names over them. And for the flag, tell the client that they are in the proper range to see the marker.

{XG}Gijs007
February 17th, 2012, 07:04 PM
If it is... couldn't the server "trick" the client?

Example... have the server tell the client that all of the other team should be marked as targets, and display their names over them. And for the flag, tell the client that they are in the proper range to see the marker.
I believe this is all client sided.
So sapp can't do this without an application that runs on the client.

Cortexian
February 17th, 2012, 09:25 PM
All the target based stuff is done via gametypes and interpreted by the client IIRC, server just tracks what's supposed to be where. This would probably be possible with an Open Sauce powered server, but SAPP isn't for that and OS servers don't/will not show on the current version list.

Ryx
February 17th, 2012, 10:30 PM
You can do client sided blue arrows. The team set address is different for each map, but I have a list in notepad somewhere.

mywarthog
February 18th, 2012, 09:10 PM
I guess that a client side app would work, too. What about the AFK suggestion?

Also, some others:

-Modify the remaining time in the game:
Allows the admins to change the amount of time remaining in the game, as well as view the precise amount of time left in the game. Viewing the time could be made into a public command seperate from changing the time, to allow that to be used in the events.txt file. For example, when the user joins, in the welcome messages, the admin could show the time remaining in that game to the new user.

- Show team chat for the other team to a logged in administrator that turned the command on. Useful for text moderation. It can be distinguished by using different tags. For example, instead of, [NAME], use {NAME} or <NAME>. Also show all vehicle chats.

- Print when an user is ipbanned in the console, if it's unlocked.

- Add events for when the players standings have changed.

Cortexian
February 19th, 2012, 02:07 AM
A client-side app that shows everyones locations would be equivilant to a wall-hack, not an admin tool. There are plenty of those already.

All-chat would be nice, especially if it could be made admin only. That said, it would be a nice feature to be able to enable for the entire server. Just make it broadcast every chat (all, team, and vehicle) globally.

sehe
February 21st, 2012, 07:38 AM
Well, I'll think about that remaining time stuff, also that "all-chat" is possible. "Add events for when the players standings have changed." -> this would generate HUGE amount of cpu usage.
Tho first I have to rewrite lot of code parts for the fully widechar support.

Cortexian
February 23rd, 2012, 06:06 AM
Yeah, just a simple "allchat 1/0" SAPP option in the init.txt would be cool and easy to use. I know I'd enable it on my servers.

If you're using Halo's chat function to plan coordinated strikes on the enemy in a public server, you're doomed to failure. If you're doing it in a private server for a competitive match, you should be using voice chat.

mywarthog
February 24th, 2012, 06:34 PM
Cool! Thanks, sehe! :D

And, if I may, for the all chat feature, it could be for admins only by this:

The admin logs in, and says allchat 1
The server for team chat, for say the blue team, if the admin is on the red team...
say bt "whatever"
say admin "whatever"

Or for the vehicles,
say playerID1 "whatever"
say playerID2 "whatever"
say playerID3 "whatever"
say admin "whatever"

That is, if that's even how that works...

Pooky
February 24th, 2012, 10:28 PM
Why fuss over allchat? Nobody uses team chat anyway.

Cortexian
February 25th, 2012, 03:42 AM
Why fuss over allchat? Nobody uses team chat anyway.
I see lots of noobs in server using team/vehicle chat cause they're dumb and just find the first key that opens a chat window and assume it's allchat.

@mywarthog, allchat would be an admin only function. One enabled from the init.txt or similar. It's supposed to be an option for server admins, not a way for players to "cheat" and look at other teams chat. It would just make all the chat display to everyone, your suggestion is for something different.

You're suggesting an all-together different feature, allchat for admins only. This would be a neat option as well if possible.

mywarthog
February 25th, 2012, 04:21 PM
I see lots of noobs in server using team/vehicle chat cause they're dumb and just find the first key that opens a chat window and assume it's allchat.

@mywarthog, allchat would be an admin only function. One enabled from the init.txt or similar. It's supposed to be an option for server admins, not a way for players to "cheat" and look at other teams chat. It would just make all the chat display to everyone, your suggestion is for something different.

You're suggesting an all-together different feature, allchat for admins only. This would be a neat option as well if possible.


My idea IS an all admin only idea... one that an admin can turn on and off, depending on their level, for just them.

Team chat is also used by the pros who want to coordinate strategies with their teams, not just noobs.

Cortexian
February 25th, 2012, 06:54 PM
Pros don't use team chat, they use VOIP programs like TeamSpeak, Ventrilo, Mumble, Skype, etc.

{XG}Gijs007
February 27th, 2012, 05:10 PM
Pros don't use team chat, they use VOIP programs like TeamSpeak, Ventrilo, Mumble, Skype, etc.
What if the pro's are playing on a public server without their team?:realsmug:

Cortexian
February 27th, 2012, 05:12 PM
What if the pro's are playing on a public server without their team?:realsmug:
Then they're not wasting their time trying to communicate with non-pros.

Obviously.

{XG}Gijs007
February 28th, 2012, 11:51 AM
Then they're not wasting their time trying to communicate with non-pros.

Obviously.
How do you know?
Did you ask all of them if they never ever used team chat in halo when they are just playing for fun?

Cortexian
February 28th, 2012, 07:11 PM
Because I was pro a long time ago, and there is never any point in communicating with pubies. Pubies are fucking retarded and can't be relied on to do anything, so why bother telling them what to do? They will just fail or ignore you.

{XG}Gijs007
February 29th, 2012, 09:26 AM
Because I was pro a long time ago, and there is never any point in communicating with pubies. Pubies are fucking retarded and can't be relied on to do anything, so why bother telling them what to do? They will just fail or ignore you.
Not all pubies fail, some can talk and will attempt to do things like returning the flag if you tell them to.:ohdear:
Sometimes they even work together especially on 1.09.

But I agree 90%+ is retarded on 1.00, they always call you bot even if your using an assault rifle or banshee.

sehe
March 1st, 2012, 03:33 PM
Sapp 3.2 is coming soon, atm its in testing phase. I rewrote/replace lot of ugly/buggy part that I don't liked, also changed kinda the whole code, which is now totally wide-char based. You will have to update your files with notepad++, which means you have to convert most of them to UCS-2 LE encoding. (admins, users, ipbans, commands, events, locations and mapvotes). + u prolly have to re-add admin v2's. I know, u f*cking hate me now, but I had to do this for a stable and more optimized code. ^^ Also, now you can use special characters in the events, and $name / admins / ipbans etc. will be displayed always correctly.

I was working much with this, but I think it worth it, when I post this, R.O.C.K (with avg. 14 players in) is up more than 16 days ago w/o crash.

Edit: Oh and some new stuffs also;
command: boost: Teleports you where u look at - Thanks for Skyline for his code and his help making it work.
event: alive: raises every sec if the player is alive.
vars: $hp $sh $x $y $z
With these u can do health regeneration / no-os mode etc.

mywarthog
March 2nd, 2012, 08:00 PM
Sapp 3.2 is coming soon, atm its in testing phase. I rewrote/replace lot of ugly/buggy part that I don't liked, also changed kinda the whole code, which is now totally wide-char based. You will have to update your files with notepad++, which means you have to convert most of them to UCS-2 LE encoding. (admins, users, ipbans, commands, events, locations and mapvotes). + u prolly have to re-add admin v2's. I know, u f*cking hate me now, but I had to do this for a stable and more optimized code. ^^ Also, now you can use special characters in the events, and $name / admins / ipbans etc. will be displayed always correctly.

I was working much with this, but I think it worth it, when I post this, R.O.C.K (with avg. 14 players in) is up more than 16 days ago w/o crash.

Edit: Oh and some new stuffs also;
command: boost: Teleports you where u look at - Thanks for Skyline for his code and his help making it work.
event: alive: raises every sec if the player is alive.
vars: $hp $sh $x $y $z
With these u can do health regeneration / no-os mode etc.

That is outrageous.

;) (kidding, of course.)

Sounds pretty cool, tough. That boost mode feature could be pretty neat, as well - I'm curious to see how that will work.

Were you able to implement the all chat and the AFK improvements.

Cortexian
March 3rd, 2012, 10:46 PM
Can we convert files using Wordpad instead of Notepad++? I've been trying to avoid downloading Notepad++ when Wordpad and Notepad usually cover all the editing needs I need.

mywarthog
March 3rd, 2012, 11:16 PM
No, neither support that encoding.

Cortexian
March 4th, 2012, 03:06 AM
Ugh...

sehe
March 5th, 2012, 06:18 PM
Notepad++ does, I just converted my files with that, it's 2 clicks.
I'll plan the release to this Wednesday.

btw. R.O.C.K is up since 20 days :P

StankBacon
March 5th, 2012, 08:31 PM
notepad++ is always one of the first things i download when i reformat.

Cortexian
March 5th, 2012, 08:47 PM
I've never needed it for anything except this, Wordpad and Notepad do pretty much everything and I hate download one-time-use software. Especially when stuff included with Windows does it already.

Oh well.

{XG}Gijs007
March 6th, 2012, 05:31 PM
I find notepad++ to be much more useful than notepad.
Mainly because you can find things in multiple files and replace them.
And also because it allows you to use wildcards for start and end of the line which sometimes is useful.

Cortexian
March 7th, 2012, 04:24 AM
I just use Dreamweaver for that kind of stuff.

{XG}Gijs007
March 8th, 2012, 09:18 AM
I just use Dreamweaver for that kind of stuff.
That would be a bit bloated for editing sapp config files IMO.