Ok so I was chatting with dev lastnight and I came up with a little idea... The more I think about it, the more useful I find it and I feel like it could really be an interesting tool to have for conquer development... The reason I'm doubting it is... well...
#1: Conquer dev is dead (everyone essentially is downloading/running a generic source or writing their own from scratch)
#2: Because of this divide, there is virtually zero public development that is feasible
But anyways... here's the concept.
A basic server API which could be plugged into your server. It would still allow your server to function exactly as normal unless you add in plugins. The API could be expanded through plugins as much as you want but in its base version it would simply act as a bridge between your server functions and various plugins.
You would now write plugins which the API would support. These plugins would have a few restrictions which would either allow or dissallow them to work with how you have your API set up. You could code multiple patch versions into the API as well so that it will work with a range of patches by switching based on the API settings.
You could then distribute or purchase these plugins to add fully tested functionality to your server.
The API would handle routing packets from your game server as well as the send functions and limited (customizable) player and map information. Any un-handled packets are routed back to your own handler (therefor by having no plugins currently running, your normal packet management takes over. The api ONLY re-routes packets used by plugins currently enabled.
This means you can EASILY switch between a number of systems including things like NPC systems.
Want to use iron python based npcs? Simply select that plugin and you're good to go.
Want to use TQ binary npcs? Simply load that plugin and full TQ bin npc support is added!
Obviously there would be plenty of issues with such a system but it's sorta intriguing me so I may work on a very small scale prototype sometime later this week.
QUESTION: Would you guys find something like this useful? The reason I thought it would be cool is that it still allows you to write your own custom source, organize it any way you damn well please... but if you want to transfer features between sources, you can simply add the plugin .dll and you're good to go. If the API expanded significantly, it could use a registration type system to handle purchasing and securing of various plugins to allow developers to earn some cash working on larger scale plugins (think: full poker system).
#1: Conquer dev is dead (everyone essentially is downloading/running a generic source or writing their own from scratch)
#2: Because of this divide, there is virtually zero public development that is feasible
But anyways... here's the concept.
A basic server API which could be plugged into your server. It would still allow your server to function exactly as normal unless you add in plugins. The API could be expanded through plugins as much as you want but in its base version it would simply act as a bridge between your server functions and various plugins.
You would now write plugins which the API would support. These plugins would have a few restrictions which would either allow or dissallow them to work with how you have your API set up. You could code multiple patch versions into the API as well so that it will work with a range of patches by switching based on the API settings.
You could then distribute or purchase these plugins to add fully tested functionality to your server.
The API would handle routing packets from your game server as well as the send functions and limited (customizable) player and map information. Any un-handled packets are routed back to your own handler (therefor by having no plugins currently running, your normal packet management takes over. The api ONLY re-routes packets used by plugins currently enabled.
This means you can EASILY switch between a number of systems including things like NPC systems.
Want to use iron python based npcs? Simply select that plugin and you're good to go.
Want to use TQ binary npcs? Simply load that plugin and full TQ bin npc support is added!
Obviously there would be plenty of issues with such a system but it's sorta intriguing me so I may work on a very small scale prototype sometime later this week.
QUESTION: Would you guys find something like this useful? The reason I thought it would be cool is that it still allows you to write your own custom source, organize it any way you damn well please... but if you want to transfer features between sources, you can simply add the plugin .dll and you're good to go. If the API expanded significantly, it could use a registration type system to handle purchasing and securing of various plugins to allow developers to earn some cash working on larger scale plugins (think: full poker system).