[Feature Request] Gravity Syncing
Moderator: Halo Moderators
-
- Newbie
- Posts: 13
- Joined: Sun Aug 28, 2016 1:20 pm
[Feature Request] Gravity Syncing
Hello all!
With the new version of SAPP available, gravity is a mutable value that can be changed on-the-fly by an admin.
As of now, there is no way to support syncing this change with HaloMD clients, as the HAC2 changes that allow server-client gravity syncing are not available to use on Mac in its current form, nor does the dev on HAC2 seem to have any interest in working on support for HaloMD.
I was hoping someone with experience writing plugins for HaloMD, or in making changes to MD in general, could comment on the feasibility of such a feature, if there is any work planned to incorporate it, and if not, could provide more information on plug-in development.
I am a software engineer myself, and would be interested on working on this problem, but as of now have no experience with HaloMD's source code, or it's plugins. Any guidance would be appreciated.
Best,
Drake
With the new version of SAPP available, gravity is a mutable value that can be changed on-the-fly by an admin.
As of now, there is no way to support syncing this change with HaloMD clients, as the HAC2 changes that allow server-client gravity syncing are not available to use on Mac in its current form, nor does the dev on HAC2 seem to have any interest in working on support for HaloMD.
I was hoping someone with experience writing plugins for HaloMD, or in making changes to MD in general, could comment on the feasibility of such a feature, if there is any work planned to incorporate it, and if not, could provide more information on plug-in development.
I am a software engineer myself, and would be interested on working on this problem, but as of now have no experience with HaloMD's source code, or it's plugins. Any guidance would be appreciated.
Best,
Drake
Re: [Feature Request] Gravity Syncing
How did you get a server on Mac?
IGN: a stick
Discord: Stick#9145
Discord: Stick#9145
-
- Newbie
- Posts: 13
- Joined: Sun Aug 28, 2016 1:20 pm
Re: [Feature Request] Gravity Syncing
My first server was hosted in a VM on my mac, and given a bridged connection in the VirtualBox settings so that I could properly port forward. Trying to mess around with Wine was just too much work when I already had an ISO of windows XP for a VM.A Stick wrote:How did you get a server on Mac?
My current one is a dedicated Windows 7 box that I had an extra of.
If you want any help setting up a server, feel free to PM me.
Re: [Feature Request] Gravity Syncing
DrakeWasHere wrote:My first server was hosted in a VM on my mac, and given a bridged connection in the VirtualBox settings so that I could properly port forward. Trying to mess around with Wine was just too much work when I already had an ISO of windows XP for a VM.A Stick wrote:How did you get a server on Mac?
My current one is a dedicated Windows 7 box that I had an extra of.
If you want any help setting up a server, feel free to PM me.
I have Virtual box and also a copy of Parallels . What would be best for Win7? Also I*'m on an old Mac Pro, so I was thinking of just doing a separate h/d and running Windows full speed ahead because I want to set up a good Steam machine.
-
- Newbie
- Posts: 13
- Joined: Sun Aug 28, 2016 1:20 pm
Re: [Feature Request] Gravity Syncing
swampy wrote:I have Virtual box and also a copy of Parallels . What would be best for Win7? Also I*'m on an old Mac Pro, so I was thinking of just doing a separate h/d and running Windows full speed ahead because I want to set up a good Steam machine.
If you want to use it as a steam machine as well, definitely go the BootCamp route. If you just want to host a server in the easiest possible way without messing with Wine, just install a VM and run it on that.
Again, if you want to talk about hosting / running a server, and do not have any insight on gravity syncing in HaloMD, please just PM me.
Re: [Feature Request] Gravity Syncing
Have you built HaloMD from source using Xcode before? There is a couple of built-in plug-in targets as examples. See MDPlugin.h for some documentation. I don't have a template plug-in project right now with me, but you can look at the build settings for the plug-in targets. If you Reveal Mods in Finder, and go up a folder or two, there should be a couple directories for installed plug-ins.DrakeWasHere wrote:Hello all!
With the new version of SAPP available, gravity is a mutable value that can be changed on-the-fly by an admin.
As of now, there is no way to support syncing this change with HaloMD clients, as the HAC2 changes that allow server-client gravity syncing are not available to use on Mac in its current form, nor does the dev on HAC2 seem to have any interest in working on support for HaloMD.
I was hoping someone with experience writing plugins for HaloMD, or in making changes to MD in general, could comment on the feasibility of such a feature, if there is any work planned to incorporate it, and if not, could provide more information on plug-in development.
I am a software engineer myself, and would be interested on working on this problem, but as of now have no experience with HaloMD's source code, or it's plugins. Any guidance would be appreciated.
Best,
Drake
002 informed me that btcc22 didn't add a feature to HAC, but I don't know how the gravity thing works, or why the value needs to even be synced.
(MGM IRC Chat)
[09:31:39] <Zero2r> oh
[09:31:50] <Zero2r> well I did write a plugin that allows one to set an arbitrary gravity constant
[09:33:05] <Zero2r> by default it's 0.997 G (well it's 1/3.048/30/30 world units per tick squared)
[09:33:31] <Zero2r> 10/3.048/30/30*
[09:34:07] <Zero2r> basically if you're in the air, it subtracts that much from your Z velocity every single tick
[09:35:08] <Zero2r> if you're talking about the gravity constant thing
[09:35:38] <Zero2r> it's easy to find. bit slicer can easily do the job by monitoring your Z coordinate
[09:36:17] <Zero2r> I gave this information to sehe who incorporated it into SAPP. I don't know how it communicates with HAC2, so that's what needs to be found
[12:10:41] <Zero2r> oh it doesn't communicate with HAC2
[12:10:56] <Zero2r> as I suspected, btcc22 never actually added the feature to hac2
[12:10:59] <Zero2r> it's just an anticheat feature
I am no longer active to Halo or MGM, and don't guarantee a response on the forums or through email. I will however linger around the discord room for general chatting. It's been fun!
Re: [Feature Request] Gravity Syncing
I poked around in Bit Slicer for you. You'll find the gravity constant at 0x37B600 in Bit Slicer. It's a 32-bit floating point number.
It's equal to about 0.003565 world units per tick squared. Basically, this number is subtracted from every objects' and particles' Z velocity every tick while in the air.
If you want to convert this to meters per second squared, 1 world unit equals 10 feet which equals 3.048 meters, therefore 1 world unit equals 3.048 meters. 1 ticks is 1/30 of a second, so 1 tick squared equals 1/900 seconds squared. Up to you on how you want to deal with this constant, really.
It's equal to about 0.003565 world units per tick squared. Basically, this number is subtracted from every objects' and particles' Z velocity every tick while in the air.
If you want to convert this to meters per second squared, 1 world unit equals 10 feet which equals 3.048 meters, therefore 1 world unit equals 3.048 meters. 1 ticks is 1/30 of a second, so 1 tick squared equals 1/900 seconds squared. Up to you on how you want to deal with this constant, really.
-
- Newbie
- Posts: 13
- Joined: Sun Aug 28, 2016 1:20 pm
Re: [Feature Request] Gravity Syncing
I have not done any work with the HaloMD source code before, nor with the plugins, but I will be checking out the plugin stucture this week.nil wrote:Have you built HaloMD from source using Xcode before? There is a couple of built-in plug-in targets as examples. See MDPlugin.h for some documentation. I don't have a template plug-in project right now with me, but you can look at the build settings for the plug-in targets. If you Reveal Mods in Finder, and go up a folder or two, there should be a couple directories for installed plug-ins.
002 informed me that btcc22 didn't add a feature to HAC, but I don't know how the gravity thing works, or why the value needs to even be synced.
Well I don't think that it was an added feature so much as something that *just works* with anticheat and SAPP that SAPP implemented, but I could be mistaken.
I tested out the gravity feature on my own servers, and in MD it shows a lag like jumping between server position and client position, so something definitely needs to be synced.
So I played around with changing the values on the server and my own MD client using that address, and as long as the values are the same there is no syncing issue.002 wrote:I poked around in Bit Slicer for you. You'll find the gravity constant at 0x37B600 in Bit Slicer. It's a 32-bit floating point number.
It's equal to about 0.003565 world units per tick squared. Basically, this number is subtracted from every objects' and particles' Z velocity every tick while in the air.
If you want to convert this to meters per second squared, 1 world unit equals 10 feet which equals 3.048 meters, therefore 1 world unit equals 3.048 meters. 1 ticks is 1/30 of a second, so 1 tick squared equals 1/900 seconds squared. Up to you on how you want to deal with this constant, really.
Looking through the plugin structure, it should be trivial to set that value as needed. Right now I just cannot figure out how to get that gravity value from the SAPP server without being/asking admin
-
- Newbie
- Posts: 13
- Joined: Sun Aug 28, 2016 1:20 pm
Re: [Feature Request] Gravity Syncing
Just a quick update, but running memory scans and sniffing network traffic between the server and client hasn't turned up any meaningful results so far.
If anyone knows how SAPP announces changes to the gravity variable to clients, that information would make this plugin one step closer to complete
If anyone knows how SAPP announces changes to the gravity variable to clients, that information would make this plugin one step closer to complete
Re: [Feature Request] Gravity Syncing
Guessing it could be through the chat system. Anyway seems like an appropriate question to ask the SAPP folk.DrakeWasHere wrote:Just a quick update, but running memory scans and sniffing network traffic between the server and client hasn't turned up any meaningful results so far.
If anyone knows how SAPP announces changes to the gravity variable to clients, that information would make this plugin one step closer to complete
I am no longer active to Halo or MGM, and don't guarantee a response on the forums or through email. I will however linger around the discord room for general chatting. It's been fun!
-
- Newbie
- Posts: 13
- Joined: Sun Aug 28, 2016 1:20 pm
Re: [Feature Request] Gravity Syncing
I looked at chat data and have not found anything resembling a variable announcement.nil wrote:Guessing it could be through the chat system. Anyway seems like an appropriate question to ask the SAPP folk.DrakeWasHere wrote:Just a quick update, but running memory scans and sniffing network traffic between the server and client hasn't turned up any meaningful results so far.
If anyone knows how SAPP announces changes to the gravity variable to clients, that information would make this plugin one step closer to complete
I messaged the dev on SAPP, as well as posted on the main forum for features / requests / help, and will report back if I get anything.
-
- Newbie
- Posts: 13
- Joined: Sun Aug 28, 2016 1:20 pm
Re: [Feature Request] Gravity Syncing
Anyway, I posted on the SAPP forum and PM'ed a couple people, and so far the only lead has been that it is a feature of SAPP's anti-cheat client plugin and not HAC/HAC2
Talked to the dev on SAPP and apparently it is handled through the chat protocol, but uses specific hooks which he has yet to finalize. -,-
Talked to the dev on SAPP and apparently it is handled through the chat protocol, but uses specific hooks which he has yet to finalize. -,-
Who is online
Users browsing this forum: No registered users and 102 guests