Renegade Public Forums
C&C: Renegade -- Dead since 2012!™
Home » Renegade Discussions » Mod Release Forum » RenSharp v1.3
RenSharp v1.3 [message #493165] Sat, 13 July 2019 10:04 Go to next message
Neijwiert  is currently offline Neijwiert  
Messages: 148
Registered: October 2009
Recruit
From: *direct-adsl.nl
Original post: http://www.renegadeforums.com/index.php?t=msg&th=41244&start=0&
Previous version: http://www.renegadeforums.com/index.php?t=msg&th=41250&start=0&

Release notes:
- Got rid of some comments that weren't correct
- Made the RenSharp manager classes final
- Introduced a dispatcher (Engine.Dispatcher). This is a helper class that will let you execute stuff on the main Renegade thread. Useful for multithreaded applications. This dispatcher is unique per thread.
- Added W3DSurfaceType enum and SurfaceTypeStrings to Engine, which reflects the surface stuff in w3d.h
- Prevent over resizing of the priority queue in the Renegade Dispatcher
- The FDS now always exits whenever a RenSharp shutdown is requested
- OBBoxCollisionTestClass did not copy the box and move in one of its constructors
- Added ability to reset a CastResultStruct upon construction. This is important as Fraction needs to be 1.0f for collision tests to actually work.
- Fixed the Equals method on some classes that have multiple inheritance and the RenSharpGameObjObserverClass
- Fixed wrong argument bounds checks in DATokenClass
- Fixed memory leak in Engine.GetCurrentMusicTrack
- Made sure that when the managed console functions are deleted that its properly sorted internally
- Removed constructors of physics test classes that take a CastResultStruct argument. This is to avoid confusion that it is not changed by reference.

Some of these changes are breaking, as in if you were using them, which means you need to recompile your plugin(s). If you were not using any methods/constructors mentioned in the release notes above, you should not need to recompile your plugin.

GitHub: https://github.com/Neijwiert/RenSharp
NuGet: https://www.nuget.org/packages/Neijwiert.RenSharp/1.3.0

[Updated on: Thu, 25 July 2019 11:10]

Re: RenSharp v1.3 [message #493183] Thu, 25 July 2019 10:52 Go to previous messageGo to next message
Neijwiert  is currently offline Neijwiert  
Messages: 148
Registered: October 2009
Recruit
From: *direct-adsl.nl
Ok so somehow nobody noticed that the DLLS in the provided zip file were not properly updated to v1.3, which caused RenSharp to fail on init. I've updated them with the correct DLLS.

EDIT: the DLLS from the NuGet package are OK though.

[Updated on: Thu, 25 July 2019 10:57]

Re: RenSharp v1.3 [message #493187] Sat, 03 August 2019 11:42 Go to previous messageGo to next message
iRANian  is currently offline iRANian  
Messages: 4297
Registered: April 2011
General (4 Stars)
From: *adsl2.static.versatel.nl
WOuld be better if it were an external program that communicates with the FDS over TCP.


Long time and well respected Renegade community member, programmer, modder and tester.

Scripts 4.0 private beta tester since May 2011.

My Renegade server plugins releases
Re: RenSharp v1.3 [message #493188] Sun, 04 August 2019 06:20 Go to previous messageGo to next message
Neijwiert  is currently offline Neijwiert  
Messages: 148
Registered: October 2009
Recruit
From: *cust.tele2.nl
iRANian wrote on Sat, 03 August 2019 11:42

WOuld be better if it were an external program that communicates with the FDS over TCP.


Then you would have sync issues with manipulating objects and such. Would be a nightmare to get everything working ok on the same scale as it is now.
Re: RenSharp v1.3 [message #493189] Tue, 06 August 2019 03:19 Go to previous messageGo to next message
MasterCan  is currently offline MasterCan
Messages: 44
Registered: August 2017
Recruit
From: 46.221.175*
I was working on a same thing like how you said (communicates over TCP with a FDS plugin), coincidencally, it's name was RenSharp too Razz. See first release post of RenSharp.

http://www.renegadeforums.com/index.php?t=tree&th=41244&start=0&#pag e_top

[Updated on: Tue, 06 August 2019 03:30]

Re: RenSharp v1.3 [message #493203] Fri, 16 August 2019 14:45 Go to previous messageGo to next message
iRANian  is currently offline iRANian  
Messages: 4297
Registered: April 2011
General (4 Stars)
From: *adsl2.static.versatel.nl
I did the same thing for a C# bot but I never finished it. Might be interesting to have it use message queues, rest api and a controller service for the bots (so you can manage multiple servers and provide a web front-end). Can use .Net Core ASP and RabbitMQ for message queue.

The bot would be a ASP.Net core framework microservice which uses a message queue connected to other bots (for other servers) and there would be a special master controller services for the bots which also exposes a REST API, website for administration and other services like IRC/Teamspeak (regulation/Discord etc support using background tasks. It can log data it receives from the bots, as to be able to access these data directly instead of using the bot database. Shared ranking/bans/chat across servers can be implemented this way by having the bots request information from the master controller.

Using the Rest API on the master controller you can write a webpage which shows the current (or recorded) game map with all the players drawn on top of it and all the units and the messages/events/chat. You can also replay this on a real game server by using a special SSGM/Dragonade plugin which spawns cPlayer soldiers with the player name and vehicles and manipulates their position and facing based on pre-recorded data and also replays fake chat. That would be cool and not a lot of work.

You can also use a file system watcher to process remote SS from a folder into the master controller service, and have it save it into a database so you can explore it on the website. You can do a remote SS request X frames per second and use that to create an animated image or a video file.

You can also make random screenshots of players playing, link it to the up to date game map (with character + vehs etc info overlayed on the map) on the website and allow people visiting the website to see screenshots of players playing at that moment in the game. I would recommend processing the image to remove the chat area to prevent PMs from leaking. This can also be used for moderation (to check for rule breaking, invisihug etc).

It would have a lot of options that way.

You could add support for allowing players to ignore other players in a persistent way for example.

https://github.com/mvdhout1992/RenCSharpBot/blob/master/RenCShapBot/Program.cs

[Updated on: Fri, 16 August 2019 15:24]


Long time and well respected Renegade community member, programmer, modder and tester.

Scripts 4.0 private beta tester since May 2011.

My Renegade server plugins releases
Re: RenSharp v1.3 [message #493205] Sun, 18 August 2019 03:06 Go to previous message
Neijwiert  is currently offline Neijwiert  
Messages: 148
Registered: October 2009
Recruit
From: *cust.tele2.nl
I know that all that is possible, but that wasn't my goal when I created this. I wanted a plugin system that basically supports the same stuff as the c++ supports now. Doing that with REST or any other protocol would be at least 10-times more work than this cost, if not more to have it operate and work on the same scale as it does now.
Previous Topic:2 New Plugins by Me: Building Fund and Building Warnings.
Next Topic:Bear Island 2.0.0 Released
Goto Forum:
  


Current Time: Wed Aug 21 11:24:34 MST 2019
.:: Contact :: Home ::.

Powered by: FUDforum 2.7.7RC2.
Copyright ©2001-2007 FUD Forum Bulletin Board Software