User:Faust Vollmar

From Second Life Wiki
Revision as of 06:32, 9 May 2010 by Faust Vollmar (talk | contribs) (Yay, User Pages. Not like I need one but hey its handy if someone ever wants to know about something I do.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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.

View my JIRA Reports

Projects

I should probably create sub-pages for my projects with a bit more comprehensive information and less rambling, but that can come later.
Source code for the OpenSource Weapons project? I'm not entirely sure of complications the Contribution Agreement could have on the project.

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.
    Yes, 2 years have gone by and not a whole lot to show for it. This has been a rather on-and-off thing.
  • A Sim-by-Sim Configurable Race/Class/Powers based System in the vein of DCS2 and Osiris.
    Currently designed to be non-leveled, with the stats you start with being the stats you always have, other than temp Buffs via Powers.
    Experience is still present, only used for acquiring new Powers for the character, if the Sim Owner configures them.
  • Unlike most, it is designed to support one Avatar having multiple different Characters in one Sim.
  • Weapons use an OpenAPI to register with the CS itself, allowing it to control fairness while allowing freedom.
    No enhanced damage model. All weapons by all creators are equal.


  • Currently not available to the public, barring needs for large-scale testing or 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 Weaponry spec and balance formulae would be nice, as well.


  • 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. (I had intended to split the Server cost among Sim Owners using the system.)
    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?


  • Currently Incomplete
    The Web Control Panel. 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.
  • Unresolved 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 would be the best solution.
    • HMAC Keys are Static. Is this even an issue?
      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 alot of speed testing.
  • Remaining Design Questions:
    • 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

  • One of those good ol' cases of taking something small and simple then running like hell was on your heels with it.
  • Basically boils down to a project to make two base sets (One for Melee, one for all the Range fun) 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.
    And yes, I have had the "Lol LCK ripoff" IMs. It's still funny though so have at it. =D
  • Two Phases:
    • Melee Weapon Scriptset
      Current Version: 2.3.6; updated 06.05.2010
      Free on XStreetSL or just IM me in-world.
    • Range Weapon Scriptset
      No Release: A lack of time to work on this sub-project.

Communication Protocol/Channel Ranges

Listed here for lack of notability for the Protocol Exchange.

-1,409,xxx,xxx
000,xxx to 009,xxx - Nexus CS
  1. [ User Input Channel ] : 9
  2. [ Dialog Menu Channel ] : 99 (Positive to allow /99Menu to retrieve the Menu.)
  3. [ Public Protocol ] : 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.
  4. [ Private Protocol ] : 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.
010,xxx - OpenSource Weapons Systems
  1. [ User Input Channel ] : 4 (Default, configurable to use any Channel > 0)
  2. [ Dialog Menu Channel ] : -99 (Default, configurable to use any Channel)
  3. [ Public Protocol ] : Protocol not likely to be used, however messages crossing it are documented in Project's packages.
    Channel; = -1409010000 - (llAbs((integer)("0x"+llGetSubString((string)OwnerKey, 0, 7))) % 999)
    Header; = "OWS"
    Payload; = Single-Pipe ("|") delimited.
    NOTE: Prior to v2.3.6, MWS sub-project comms did not have a Header and used channels -851000000 to -851999999.