Difference between revisions of "User:Faust Vollmar"
Jump to navigation
Jump to search
(Yay, User Pages. Not like I need one but hey its handy if someone ever wants to know about something I do.) |
m (Updating some info, messing with the layout.) |
||
Line 7: | Line 7: | ||
==Projects== | ==Projects== | ||
I should probably create sub-pages for my projects with a bit more comprehensive information and less rambling, but that can come later.<br /> | I should probably create sub-pages for my projects with a bit more comprehensive information and less rambling, but that can come later.<br /> | ||
Source code for the OpenSource | * Should I post Source code for the OpenSource projects? I'm not sure of complications the Contribution Agreement could have on managing them. | ||
The project sections sound like advertising; I didn't mean it that way but that's kinda how my attempts to jot down what I do turned out. | The project sections sound like advertising; I didn't mean it that way but that's kinda how my attempts to jot down what I do turned out. | ||
====Nexus CS==== | ====Nexus CS==== | ||
* This is my pet project, an SLRPG framework, it taught me LSL as I've gone along since '08, and will teach me C# when we can use it in SL. | * This is my pet project, an SLRPG framework, it taught me LSL as I've gone along since '08, <strike>and will teach me C# when we can use it in SL.</strike> | ||
*: | *: The design intent was to be non-profit and only split webserver costs between World Owners, without commercializing any part of the system. | ||
* A | *:: This has the disadvantage that it would not gain funds to commission needed content such as Animations, Sounds or Particle Effects. | ||
* | |||
*:: Experience is still present, only used for acquiring new Powers for the character, if the Sim Owner configures them | =====Features===== | ||
* A configurable Race/Class/Powers-based system in the vein of DCS2 and Osiris | |||
* Worlds are independent from one another. Any number of Sims can be a part of the same World. | |||
* One Avatar can have up to 12 separate Characters per World, instead of only one. (An Experience Share mechanic would be a World Owner option.) | |||
* There are no Character Levels, the stats you start with are the stats you always have, other than temp Buffs via Powers. | |||
*: I never liked the whole seniority issue that happened with Level-based systems, it was always a source of drama. | |||
*: Experience is still present, only used for acquiring new Powers for the character, if the Sim Owner configures them. | |||
* Weapons use an OpenAPI to register with the CS itself, allowing it to control fairness while allowing freedom. | * Weapons use an OpenAPI to register with the CS itself, allowing it to control fairness while allowing freedom. | ||
*: | *: All weapons by all creators are equal. There will not be an 'enhancement' model. | ||
=====Current Status===== | |||
* Currently not available to the public, unless I reach a point where I need large-scale testing, or there is a sudden wave of interest. | |||
* Always thinking about new Power Casting Mode/Types. If you have ideas and want the current list, IM me in-world. | |||
* Someone to bump heads with regarding the Equipment spec and balance formulae would be nice, as well. | |||
<br /> | <br /> | ||
* | * The Web Control Panel is currently incomplete. Not enough time to learn enough PHP (or other language) for it. | ||
* | *: I have learned enough PHP to set up a basic Inworld-to-Database layer, but that's all. | ||
<br /> | <br /> | ||
* '''Possibly''' OpenSource in the future, simply because some parts (namely the Web Database Server) are beyond my ability. | * '''Possibly''' OpenSource in the future, simply because some parts (namely the Web Database Server) are beyond my ability. | ||
* | ** Pro: Would lift the Database Server from my shoulders. | ||
* | ** Pro: Far greater openness to contributions. | ||
* | ** Con: Would create usage hassles for Sim Owners (Setup, Security) Weapon Makers (APIs) and Players. (Versions, Websites+Passwords) | ||
* | ** '''Alt:''' Form a team of interested volunteers that controls the Version and Database Server as a group? | ||
=====Outstanding Issues===== | |||
* Internal Bullets are too insecure due to only having 21 bits of an integer available for any validation mechanism. | |||
*: Would need to be able to: 1: Validate an object without requiring full perms. 2: Directly pass a string across Rez. | |||
*: Alternatively, Raycasting and the ability to cast a llSay to arbitrary locations (in reasonable distance) would also work. | |||
* Intended design of allowing two Weapons wielded at once would require an unintuitive control scheme. | |||
*: Scripted access to CONTROL_ML_RBUTTON is the ideal solution I keep hoping for. | |||
* HMAC Keys are Static. Is this even an issue? | |||
*: This is due to the previously mentioned bullets problem. If needed, dynamic generation will be added when that is resolved. | |||
* Using a fake HMAC with the pads in Base64 form fed to the native utf-8 llSHA1String. (Database Server has a PHP function to match.) | |||
*: I don't know how to concatenate Base64, and if I did I would have to do serious speed testing on Strife's Base64_SHA1 compared to the current method. | |||
=====Design Considerations===== | |||
* Assuming Project remains ClosedSource; Direct access to Attacks/Powers Comms Protocol for Sim Owners? | |||
** Allow Sim Owner to set their Sim's HMAC Key or set a one used to retrieve it via HTTP? | |||
** Or just use the original method of closed-source items that check for GM/Owner Status before working? | |||
* Capture RP Stuff? | |||
*: I am not an animator and will not be able to create animations for Powers let alone this, so there is very little to gain from it. | |||
* | |||
====OpenSource Weapons Systems==== | ====OpenSource Weapons Systems==== | ||
* | * This was a project born of wanting my own take on Melee weapon scripts that evolved over time into it's current state. | ||
* Basically boils down to a project to make two base sets (One for Melee, one for all the Range | * Basically boils down to a project to make two base sets (One for Melee, one for all the Range) that can be used for whatever. | ||
* Intended for SLRPG weapons rather than the Weapon HUDs often seen in free-for-all combat. | * Intended for SLRPG weapons rather than the Weapon HUDs often seen in free-for-all combat. | ||
* Theres really not much to say here. It does what it's meant to do and sometimes I add/fix something. | * Theres really not much to say here. It does what it's meant to do and sometimes I add/fix something. | ||
*'''Two Phases:''' | *'''Two Phases:''' | ||
** ''Melee Weapon Scriptset'' | ** ''Melee Weapon Scriptset'' | ||
**: Current Version: 2.3. | **: Current Version: 2.3.7; updated 28.08.2010 | ||
**: Free on [https:// | **: Free on [https://marketplace.secondlife.com/p/NI-Melee-Weapon-Scriptset/1274908 SL Marketplace] or just IM me in-world. | ||
** ''Range Weapon Scriptset'' | ** ''Range Weapon Scriptset'' | ||
**: No Release: A lack of time to work on this sub-project. | **: No Release: A lack of time to work on this sub-project. | ||
Line 66: | Line 68: | ||
====Communication Protocol/Channel Ranges==== | ====Communication Protocol/Channel Ranges==== | ||
Listed here for lack of notability for the Protocol Exchange. | Listed here for lack of notability for the Protocol Exchange. | ||
: Channel numbers prefixed with 'x,' are in the -1,409,xxx,xxx range. | |||
=====Nexus CS===== | |||
:# [ User Input Channel ] : 9 | :# [ User Input Channel ] : 9 | ||
:# [ Dialog Menu Channel ] : 99 (Positive to allow /99Menu to retrieve the Menu.) | :# [ Dialog Menu Channel ] : 99 (Positive to allow /99Menu to retrieve the Menu.) | ||
:# [ Public Protocol ] : Usage will be documented if/when it becomes necessary. | :# [ Public Protocol ] : x,000,000 to x,004,999 - Usage will be documented if/when it becomes necessary. | ||
:#: ''Channel;'' Weapon OpenAPI = -1409000000 | :#: ''Channel;'' Weapon OpenAPI = -1409000000 | ||
:#: ''Channel;'' Status Display HUD = -1409000001 - (llAbs((integer)("0x"+llGetSubString((string)OwnerKey, 0, 7))) % 4998) | :#: ''Channel;'' Status Display HUD = -1409000001 - (llAbs((integer)("0x"+llGetSubString((string)OwnerKey, 0, 7))) % 4998) | ||
:#: ''Header;'' = "NCS" | :#: ''Header;'' = "NCS" | ||
:#: ''Payload;'' = Double-Pipe ("||") delimited, with Single-Pipe ("|") delimited sub-sets. | :#: ''Payload;'' = Double-Pipe ("||") delimited, with Single-Pipe ("|") delimited sub-sets. | ||
:# [ Private Protocol ] : Not for Public Use; HMAC-Signed Data for Attacks or other System Comms. | :# [ Private Protocol ] : x,005,000 to x,009,999 - Not for Public Use; HMAC-Signed Data for Attacks or other System Comms. | ||
:#: ''Channel;'' AoE Effects = -1409005000 | :#: ''Channel;'' AoE Effects = -1409005000 | ||
:#: ''Channel;'' Target Effects = -1409005001 - (llAbs((integer)("0x"+llGetSubString((string)TargetKey, 0, 7))) % 4998) | :#: ''Channel;'' Target Effects = -1409005001 - (llAbs((integer)("0x"+llGetSubString((string)TargetKey, 0, 7))) % 4998) | ||
:#: ''Header;'' = "NCS" | :#: ''Header;'' = "NCS" | ||
:#: ''Payload;'' = Double-Pipe ("||") delimited, with Single-Pipe ("|") delimited sub-sets. | :#: ''Payload;'' = Double-Pipe ("||") delimited, with Single-Pipe ("|") delimited sub-sets. | ||
=====OpenSource Weapons Systems===== | |||
:# [ User Input Channel ] : 4 (Default, configurable to use any Channel > 0) | :# [ User Input Channel ] : 4 (Default, configurable to use any Channel > 0) | ||
:# [ Dialog Menu Channel ] : -99 (Default, configurable to use any Channel) | :# [ Dialog Menu Channel ] : -99 (Default, configurable to use any Channel) | ||
:# [ Public Protocol ] : Protocol not likely to be used, however messages | :# [ Public Protocol ] : x,010,000 to x,010,999 - Protocol not likely to be used, however messages are documented in the Project's packages. | ||
:#: ''Channel;'' = -1409010000 - (llAbs((integer)("0x"+llGetSubString((string)OwnerKey, 0, 7))) % 999) | :#: ''Channel;'' = -1409010000 - (llAbs((integer)("0x"+llGetSubString((string)OwnerKey, 0, 7))) % 999) | ||
:#: ''Header;'' = "OWS" | :#: ''Header;'' = "OWS" | ||
:#: ''Payload;'' = Single-Pipe ("|") delimited. | :#: ''Payload;'' = Single-Pipe ("|") delimited. | ||
:#: '''NOTE:''' | :#: '''NOTE:''' Versions 2.3.5 and earlier, MWS sub-project comms did not have a Header and used channels -851000000 to -851999999. |
Revision as of 21:13, 31 August 2010
About
An LSL scripter with a particular interest in SLRPG frameworks and weaponry.
Not a whole lot else to add really, no history or achievements to speak of.
Projects
I should probably create sub-pages for my projects with a bit more comprehensive information and less rambling, but that can come later.
- Should I post Source code for the OpenSource projects? I'm not sure of complications the Contribution Agreement could have on managing them.
The project sections sound like advertising; I didn't mean it that way but that's kinda how my attempts to jot down what I do turned out.
Nexus CS
- This is my pet project, an SLRPG framework, it taught me LSL as I've gone along since '08,
and will teach me C# when we can use it in SL.- The design intent was to be non-profit and only split webserver costs between World Owners, without commercializing any part of the system.
- This has the disadvantage that it would not gain funds to commission needed content such as Animations, Sounds or Particle Effects.
- The design intent was to be non-profit and only split webserver costs between World Owners, without commercializing any part of the system.
Features
- A configurable Race/Class/Powers-based system in the vein of DCS2 and Osiris
- Worlds are independent from one another. Any number of Sims can be a part of the same World.
- One Avatar can have up to 12 separate Characters per World, instead of only one. (An Experience Share mechanic would be a World Owner option.)
- There are no Character Levels, the stats you start with are the stats you always have, other than temp Buffs via Powers.
- I never liked the whole seniority issue that happened with Level-based systems, it was always a source of drama.
- Experience is still present, only used for acquiring new Powers for the character, if the Sim Owner configures them.
- Weapons use an OpenAPI to register with the CS itself, allowing it to control fairness while allowing freedom.
- All weapons by all creators are equal. There will not be an 'enhancement' model.
Current Status
- Currently not available to the public, unless I reach a point where I need large-scale testing, or there is a sudden wave of interest.
- Always thinking about new Power Casting Mode/Types. If you have ideas and want the current list, IM me in-world.
- Someone to bump heads with regarding the Equipment spec and balance formulae would be nice, as well.
- The Web Control Panel is currently incomplete. Not enough time to learn enough PHP (or other language) for it.
- I have learned enough PHP to set up a basic Inworld-to-Database layer, but that's all.
- Possibly OpenSource in the future, simply because some parts (namely the Web Database Server) are beyond my ability.
- Pro: Would lift the Database Server from my shoulders.
- Pro: Far greater openness to contributions.
- Con: Would create usage hassles for Sim Owners (Setup, Security) Weapon Makers (APIs) and Players. (Versions, Websites+Passwords)
- Alt: Form a team of interested volunteers that controls the Version and Database Server as a group?
Outstanding Issues
- Internal Bullets are too insecure due to only having 21 bits of an integer available for any validation mechanism.
- Would need to be able to: 1: Validate an object without requiring full perms. 2: Directly pass a string across Rez.
- Alternatively, Raycasting and the ability to cast a llSay to arbitrary locations (in reasonable distance) would also work.
- Intended design of allowing two Weapons wielded at once would require an unintuitive control scheme.
- Scripted access to CONTROL_ML_RBUTTON is the ideal solution I keep hoping for.
- HMAC Keys are Static. Is this even an issue?
- This is due to the previously mentioned bullets problem. If needed, dynamic generation will be added when that is resolved.
- Using a fake HMAC with the pads in Base64 form fed to the native utf-8 llSHA1String. (Database Server has a PHP function to match.)
- I don't know how to concatenate Base64, and if I did I would have to do serious speed testing on Strife's Base64_SHA1 compared to the current method.
Design Considerations
- Assuming Project remains ClosedSource; Direct access to Attacks/Powers Comms Protocol for Sim Owners?
- Allow Sim Owner to set their Sim's HMAC Key or set a one used to retrieve it via HTTP?
- Or just use the original method of closed-source items that check for GM/Owner Status before working?
- Capture RP Stuff?
- I am not an animator and will not be able to create animations for Powers let alone this, so there is very little to gain from it.
OpenSource Weapons Systems
- This was a project born of wanting my own take on Melee weapon scripts that evolved over time into it's current state.
- Basically boils down to a project to make two base sets (One for Melee, one for all the Range) that can be used for whatever.
- Intended for SLRPG weapons rather than the Weapon HUDs often seen in free-for-all combat.
- Theres really not much to say here. It does what it's meant to do and sometimes I add/fix something.
- Two Phases:
- Melee Weapon Scriptset
- Current Version: 2.3.7; updated 28.08.2010
- Free on SL Marketplace or just IM me in-world.
- Range Weapon Scriptset
- No Release: A lack of time to work on this sub-project.
- Melee Weapon Scriptset
Communication Protocol/Channel Ranges
Listed here for lack of notability for the Protocol Exchange.
- Channel numbers prefixed with 'x,' are in the -1,409,xxx,xxx range.
Nexus CS
- [ User Input Channel ] : 9
- [ Dialog Menu Channel ] : 99 (Positive to allow /99Menu to retrieve the Menu.)
- [ Public Protocol ] : x,000,000 to x,004,999 - Usage will be documented if/when it becomes necessary.
- Channel; Weapon OpenAPI = -1409000000
- Channel; Status Display HUD = -1409000001 - (llAbs((integer)("0x"+llGetSubString((string)OwnerKey, 0, 7))) % 4998)
- Header; = "NCS"
- Payload; = Double-Pipe ("||") delimited, with Single-Pipe ("|") delimited sub-sets.
- [ Private Protocol ] : x,005,000 to x,009,999 - Not for Public Use; HMAC-Signed Data for Attacks or other System Comms.
- Channel; AoE Effects = -1409005000
- Channel; Target Effects = -1409005001 - (llAbs((integer)("0x"+llGetSubString((string)TargetKey, 0, 7))) % 4998)
- Header; = "NCS"
- Payload; = Double-Pipe ("||") delimited, with Single-Pipe ("|") delimited sub-sets.
OpenSource Weapons Systems
- [ User Input Channel ] : 4 (Default, configurable to use any Channel > 0)
- [ Dialog Menu Channel ] : -99 (Default, configurable to use any Channel)
- [ Public Protocol ] : x,010,000 to x,010,999 - Protocol not likely to be used, however messages are documented in the Project's packages.
- Channel; = -1409010000 - (llAbs((integer)("0x"+llGetSubString((string)OwnerKey, 0, 7))) % 999)
- Header; = "OWS"
- Payload; = Single-Pipe ("|") delimited.
- NOTE: Versions 2.3.5 and earlier, MWS sub-project comms did not have a Header and used channels -851000000 to -851999999.