PDA

View Full Version : ultimate Launcher v3 - Free-For-All Test



Marc Hoover
21-03-11, 00:37
http://ultimate-networx.net/wp-content/uploads/2011/02/splash4.png

Introduction

Yes guys, I did it again... please don't ask me why ;p

The ultimate Neocron startup launcher reached the third level and it's even Neocron 3 ready, theoretical.
Someone remembers the older version... big, monolithic and slow. Now we built a new slim version, YOU decide what your launcher can do.
The launcher consumes the newest technology on .NET. WPF for the UI, MVVM and other patterns for the implementation.


How?

We created a HIVE-Server similar to an App-Store or Marketplace (respectly Microsoft Store). The ultimate launcher can only start Neocron and showing the news, it's highly recommed to check the HIVE :)
Here you can download all your needed AddOns for your ultimate launcher.

There are only 2 AddOns at the moment, but we'll provide more as soon as possible. The launcher is still "work in progress", please remember on that if something goes wrong.

You also can write AddOns yourself, all you need is a .NET language like C # or VB.NET. For more information send me a pm.
The Launcher has integrated an AutoUpdater again, you should be always on the newest state. Besides, we will restore again the binding to NCRAREDB.NET as well as to THN, so you?ll have ingame access to rare pools and to your itemDB.

Special thanks to Michael Corvin for the whole (cool) graphic arts and
to Adrenalyn, Slith and Cortash for their self-sacrificing testing.
SEX ON YOU! :]

Downloads

Tips

Tip: There is still no Installer! Extract the .zip in a folder and link the Launcher.exe. If you start the Launcher the first time, don?t forget to configure the path to your Neocron installation.

Download (http://ultimate-networx.net/files/uneX_LauncherV3_Build_rev75.zip)

MrTrip
21-03-11, 03:27
Bit of a slow download, hope you don't mind I mirrored it for you...

http://www.neocron.org/?p=53

Direct link here...

http://www.neocron.org/wp-content/plugins/download-monitor/download.php?id=3

flib
21-03-11, 09:59
Ugh, here we go again. Still using .NET? No, thank you.

Marc Hoover
21-03-11, 10:09
Oh, thx MrTrip. I got a download rate up to 10.2MB /s on this server :D Damn routing ;p


Ugh, here we go again. Still using .NET? No, thank you.

Indeed, .NET Framework 4.0 <3

Brammers
21-03-11, 12:55
I've always wondered what happened to the Ultimate Launcher.

Will have to have a play later. :) Does it have an ingame browser?

P.S. File is also mirrored on the THN (http://www.techhaven.org/component/option,com_docman/Itemid,132/task,doc_details/gid,155/) as well.


Ugh, here we go again. Still using .NET? No, thank you.

What's wrong with .NET?

Marc Hoover
21-03-11, 14:04
I've always wondered what happened to the Ultimate Launcher.

Will have to have a play later. :) Does it have an ingame browser?

P.S. File is also mirrored on the THN (http://www.techhaven.org/component/option,com_docman/Itemid,132/task,doc_details/gid,155/) as well.



What's wrong with .NET?

Thx, Bram :) *thumps up*

Marc Hoover
21-03-11, 21:51
New Addon available:

FALLOUT RADIO RECEIVER

Commands:

/radio

MrTrip
22-03-11, 00:27
New Addon available:

FALLOUT RADIO RECEIVER

Commands:

/radio

What the crap is that o_O

Marc Hoover
22-03-11, 10:09
What the crap is that o_O

Huh,... a Fallout (=Bethesda) radio receiver? ;p

MrTrip
22-03-11, 10:18
Huh,... a Fallout (=Bethesda) radio receiver? ;p

Oh, so, it plays Fallout music..................................?????

Marc Hoover
22-03-11, 10:47
Oh, so, it plays Fallout music..................................?????

Yeah, like Galaxy Radio :)

Brammers
22-03-11, 14:46
So how easy is it to write a plugin? Something on the lines of implementing an interface?

I wouldn't mind having a stab at doing the THN link, and using the newer API interfaces.

Also is the old UNEX launcher still in use?

Marc Hoover
22-03-11, 15:28
Also is the old UNEX launcher still in use?

Nope, I shutted down all the services end of last year. ;/


So how easy is it to write a plugin? Something on the lines of implementing an interface?

I wouldn't mind having a stab at doing the THN link, and using the newer API interfaces.


It's REALLY easy! Take a look at this (http://ultimate-networx.net/files/FalloutRadio.Plugin.zip) .

Brammers
22-03-11, 16:01
It's REALLY easy! Take a look at this (http://ultimate-networx.net/files/FalloutRadio.Plugin.zip) .

Just looked as the Radio code, yes that is very easy if you are a .NET developer. :)

I would poke around the UNEX libs a little more, but this PC I'm currently using only has VS2008 and no .NET 4.0. (As I'm wondering what other events there are besides OnNeocronConsoleHasChanged)

Edit: Sorry missed this.


Nope, I shutted down all the services end of last year.

In that case, I'll probably get rid of the old UNEX search interface on the THN.

Marc Hoover
22-03-11, 17:02
Just looked as the Radio code, yes that is very easy if you are a .NET developer. :)

I would poke around the UNEX libs a little more, but this PC I'm currently using only has VS2008 and no .NET 4.0. (As I'm wondering what other events there are besides OnNeocronConsoleHasChanged)

Edit: Sorry missed this.


Objects:

CharacterInformation
LauncherSettings
(LauncherPluginMetaData) MetaData

Events:

OnNeocronPreparation - When Neocron starts...
OnNeocronConsoleHasChanged - Somethings has changed in the console
OnCharacterInformationChange - Something has changed in the CharacterInformation (Level, Faction, Sector, Name, Clan,...)
OnCharacterDamageInformationReceived - The character receives heals or damage
OnExternalDamageInformationReceived - The character deals heals or damage

Methods:

Print - Prints the given text into the console
SetColor - Sets the color of the (next) given text
ExtractResource - Extracts an embedded resource to the temp. storage
PlaySound - Plays the given Stream or file



In that case, I'll probably get rid of the old UNEX search interface on the THN.

Oh nooo! :D There is an AddOn currently in work which is using this api :D

Brammers
22-03-11, 17:20
Oh nooo! :D There is an AddOn currently in work which is using this api :D

Ok fair enough, I'll leave it alone then. :) It's not been touched for years, but it's unchanged and still works.

Marc Hoover
22-03-11, 17:27
Ok fair enough, I'll leave it alone then. :) It's not been touched for years, but it's unchanged and still works.

Indeed :D That's why I need this :D

phunqe
22-03-11, 18:30
Just seeing that graphics, the NC logo and the text fills me with a powerful mix of feelings containing sadness, anticipation and excitement.

Wtb new NC.

Marc Hoover
22-03-11, 23:45
Neocron Enhancement Pack

This pack was a part of the ultimate networX Contribution Pack.
This packaged adds new Music, Sound an other enhancements to the Neocron Client.

The new ultimate Launcher can handle this package (again) since the last update.

Here (http://ultimate-gaming.eu/misc/uneX_ncep.exe) you can download the package.

Biglines
06-04-11, 01:29
a while back I was making an interface for the raredb using c#, but was running into weird http requests in the rare db, has there been a proper non-http-hacky api made for the rare db brammers? if so that would be my favourite idea for an ingame plugin (add rares to db, remove, check numbers etc), hate having to alt tab every time and scrolling).

if there's ever an anti-cheat patch (after one and a half year I'm not very confident, but still), I'll be back and get that working if it hasn't been done by then.

MrTrip
06-04-11, 04:42
a while back I was making an interface for the raredb using c#, but was running into weird http requests in the rare db, has there been a proper non-http-hacky api made for the rare db brammers? if so that would be my favourite idea for an ingame plugin (add rares to db, remove, check numbers etc), hate having to alt tab every time and scrolling).

if there's ever an anti-cheat patch (after one and a half year I'm not very confident, but still), I'll be back and get that working if it hasn't been done by then.

Aw biglines :( I want a raredb plugin noooww....not neveeerrrr.... :(

Biglines
06-04-11, 13:35
Aw biglines :( I want a raredb plugin noooww....not neveeerrrr.... :(
I could write the code to download your current db, and to find out the status, but the raredb uses weird requests (that I have no idea how to generate) to update rare parts in the db.

then again, from what I hear all the appartments have lost their items, so you probably don't have any techparts anymore anyway... KK ftw...


And for those that want to develop for the launcher without visual studio, I can heartily recommend sharpdevelop, it's an open source IDE, which works very well (I far prefer it over the express editions from microsoft)

Biglines
06-04-11, 13:39
What's wrong with .NET?
You sure u want to get that discussion going? :p

Biglines
06-04-11, 13:45
Does it have an ingame browser?

if you launch neocron through steam, you get an ingame browser ;)

Biglines
06-04-11, 18:14
k I'll work on the rare db, what you guys think of the following interface:

for example:

/raredb add rifle 3 tp 1 op 2 atp 1
/raredb remove rifle 3 tp 1

rifle 3 would be the third rifle, or maybe use the TL (I'd say full name is too much).

/raredb list rifles

get the name, number, and current tech parts of all rifles

/raredb list rifle 3

get the name, number and tech parts of the 3rd rifle

If anyone has a better idea how to consistently identify the actual weapon, I'm open to suggestions

Biglines
06-04-11, 23:02
brammers I keep running into edit locks, no idea how to fix that. any chance of a special php page which simply uses the login data, and just submits new info, disregarding the lock?

I have logging in and downloading info ready, but I think the session wants me to first open the edit window, and then submit them, but I'm getting locked out every time I try this.

Brammers
06-04-11, 23:53
Ok let me put on my architect hat on....

One thing to get clear. The THN Rares DB doesn't currently have a proper API for anyone to use.

It's possible that you can hack it to do submissions via HTTP and post requests, but it will be a nightmare for any developer to keep the code maintained to work with the site. If I change a webpage. The THN rares DB website is designed to work with browsers, and nothing else, and I'm not going to support access to the Rares DB this will.

However I am willing to consider doing some work to put an API in place to allow anyone easy access to the rares DB data, most likely via a SOAP endpoint or any other suitable interface that anyone can justify.

Let me know what you are developing in as well.

Edit:


You sure u want to get that discussion going? :p

Why not? :p


if you launch neocron through steam, you get an ingame browser ;)

Ahh thanks for the tip!

Although what I was hopping is that I could invoke a method in the Ultimate Launcher somewhere to open a browser ingame with the URL as a parameter.

Biglines
07-04-11, 00:20
Ok let me put on my architect hat on....

One thing to get clear. The THN Rares DB doesn't currently have a proper API for anyone to use.

It's possible that you can hack it to do submissions via HTTP and post requests, but it will be a nightmare for any developer to keep the code maintained to work with the site. If I change a webpage. The THN rares DB website is designed to work with browsers, and nothing else, and I'm not going to support access to the Rares DB this will.

However I am willing to consider doing some work to put an API in place to allow anyone easy access to the rares DB data, most likely via a SOAP endpoint or any other suitable interface that anyone can justify.

Let me know what you are developing in as well.
.
Yep, the fact it works only for webpages is painfully clear ;) I'm currently trying to emulate the httprequests the browser sends to the server, but because of the weird httprequests (multipart-form, which isn't supported by default libraries), I am unable to edit the parts.

Well, that's not true. Currently I have it working that I can update it. But for some reason the server only updates it ages later, as well as not closing the edit session (allowing only one edit every half an hour).

what I have working is logging in and downloading your current list. What I haven't got working properly is uploading, because of the weird http requests that are involved in updating.

I'm developing in csharp (.net 4.0 in sharpdevelop), which can do pretty deep http requests, and afaik .net should also be able to handle a lot of more modern api's.

I'm on the verge on giving up again, cuz as you say, it would be hard to maintain without a documented api.

all that would be needed would be an api that would handle:
username & pass
download complete list (p<number> and i<number keys and their values)
update p<number> or i<number to value

and maybe a search which returns traders that have a particular part (p<number> or i<number)


Why not? :p
well, it might be amusing, but the discussion has been had, and it's a discussion that can't be won, there's valid points for both sides.



Ahh thanks for the tip!

Although what I was hopping is that I could invoke a method in the Ultimate Launcher somewhere to open a browser ingame with the URL as a parameter.
from what I read in the german thread, work on the overlay is in progress, so it shouldn't be too hard to be implemented.

Brammers
07-04-11, 02:00
all that would be needed would be an api that would handle:
username & pass
download complete list (p<number> and i<number keys and their values)
update p<number> or i<number to value

and maybe a search which returns traders that have a particular part (p<number> or i<number)

That looks realistic. I'll probably throw in a XML doc which lists i to p numbers, either via the API or a URL. That bit is open to idea's and discussion.

As for the updating issues you had with the locking and 30 mins timeout, that's down to a feature that was planned, but never got any further. It was planned to allow (say) clan members to update the list but there was no demand for that and also the game being in less demand as well.

One thing I've been thinking about is the username and password bit, and I'm not keen for anyone to be having the THN username and more importantly... password in any third party application, so I'm going to look at some sort of API key access. (I'll probably look at how EvE have done theirs.) What I will do is document the APU in the NC-Wiki.

As for the search, that can come a little later! :)



well, it might be amusing, but the discussion has been had, and it's a discussion that can't be won, there's valid points for both sides.


I'm always interested in both sides of the coin, and yes I agree, it won't be won by either side.



from what I read in the german thread, work on the overlay is in progress, so it shouldn't be too hard to be implemented.

Ahh good!

Biglines
07-04-11, 11:12
That looks realistic. I'll probably throw in a XML doc which lists i to p numbers, either via the API or a URL. That bit is open to idea's and discussion.

As for the updating issues you had with the locking and 30 mins timeout, that's down to a feature that was planned, but never got any further. It was planned to allow (say) clan members to update the list but there was no demand for that and also the game being in less demand as well.

One thing I've been thinking about is the username and password bit, and I'm not keen for anyone to be having the THN username and more importantly... password in any third party application, so I'm going to look at some sort of API key access. (I'll probably look at how EvE have done theirs.) What I will do is document the APU in the NC-Wiki.

As for the search, that can come a little later! :)

the login/pass would be the users' own login information for logging into the raredb (/raredb login user pass), which is what is used now anyway isn't it? tbh, it could use the current session manager in use on the thn anyway.

for public access I would agree an api key would be best, but I think all the people that would use this plugin would have their own rare list, with their own login/pass.

One thing I'm going to try now, is if the edit page doesn't simply accept normal POST http requests instead of the multipart one.

Before I will publish anything for public use, I will send you the sourcecode so you can check if I do anything that I shouldn't be doing. Currently I'm simply sending the login info, storing the cookie I receive back, and using that cookie to load other pages, and none of this works without the user entering a valid thn username and password (which so far isn't saved anywhere)

Biglines
07-04-11, 11:25
lol figures. Remind me not to rely on http monitors too much :D edit.php also accepts normal POST requests, so I can upload anything I want easily enough without an api, and the normal request apparently closes the edit session nicely so I don't have the problem with the editlock anymore either.

edit:
well, I can upload all I want, but it still locks out any attempt to log in from the browser. will work on this for a while

Biglines
07-04-11, 12:28
seems I have it working. Now the momentous task of correlating p and i numbers to actual guns and parts...

Brammers
07-04-11, 15:10
Biglines, no point in sending me the source code. As I said earlier I would not be supporting anything that access the Rares DB in the way you are trying to. It's designed for browsers, and I'm liable to break your code if I do a website update.

I don't mind you trying your current code on the Rare DB's, but keep in mind what I've said.

I've started thrashing out API design for the Rares DB access - let me (Or anyone else thinking of writing a client) know what you think.

http://wiki.techhaven.org/User:Brammers/RaresDBapi

Edit: P.S. If you do break the THN, expect to be raided by a squad of copbots!

Marc Hoover
07-04-11, 15:15
Wow :) Keep up working :) if someone needs help with the launcher, feel free to ask me :)

BTW:

New AddOn available:

* THN Item DB Linker (brings back the good ol' /thnitem command of the ultimate launcher v1)

usage: /thnitem searchstring
e.g.: /thnitem protopharm

Biglines
07-04-11, 15:51
I have thn access working atm, but as Brammers said, it would break if any of the scripts are changed significantly. But it should be easy enough to change to an api interface (though I am myself unfamiliar with soap).

brammers the only thing I see that I find strange is the old quantity argument in the setQty functions. While it should be possible for the client software to store old values, it could break if any updates weren't stored properly. I would personally remove the old qty, and just set the part/item to the quantity listed.

I like the idea behind the application api key and user api key

Marc, is there a standard way in the launcher framework to store things like username and for example this api key?

Biglines
07-04-11, 15:57
oh btw brammers, I'm not parsing complete websites, I'm currently only posting login and pass to login.php, getting the list from export/csv/export-csv.php, and updating by posting p1070=55 to edit.php

Brammers
07-04-11, 17:08
.
brammers the only thing I see that I find strange is the old quantity argument in the setQty functions. While it should be possible for the client software to store old values, it could break if any updates weren't stored properly. I would personally remove the old qty, and just set the part/item to the quantity listed.


I'm still thinking about this one, but I think the old quantity will go. It's more for preventing update mismatches, if someone uses the website and the /raredb command at the same time.

However since it's likely the person updating the quantity will be looking at the cabinet with the rare parts in them, it's safe to say what the user is seeing in front of him is the correct quantity anyway!


oh btw brammers, I'm not parsing complete websites, I'm currently only posting login and pass to login.php, getting the list from export/csv/export-csv.php, and updating by posting p1070=55 to edit.php

Ahh yes, makes sense, although you discovered the flaw of matching p numbers to the actual parts themselves.

Also SOAP - aka Web services. All you need to do in Visual Studio is add a web reference to a URL. The THN items DB has a Soap API http://api.techhaven.org/api.php?wsdl - It even has the Neocron version of the "Hello World" function. (I'll let you spot it!)



Marc, is there a standard way in the launcher framework to store things like username and for example this api key?

Good question. :)

Also it would be good if we can detect what server we are logged in as well in the framework.

Biglines
07-04-11, 17:39
Ahh yes, makes sense, although you discovered the flaw of matching p numbers to the actual parts themselves.


I'm currently using a cvs with the part numbers embedded in the app

what do you guys think I should use as a shortener for the guns? (so people don't have to perfectly type the complete name) I could just use a number, or something like rl2 (rifle, lowtech, 2)

Marc Hoover
07-04-11, 20:46
Marc, is there a standard way in the launcher framework to store things like username and for example this api key?

Not yet, wait for the new updates :)

Marc Hoover
07-04-11, 23:16
Not yet, wait for the new updates :)

Update is out... [rev. 85]

LoadFromStorage(string id)
LoadFromStorage<T>(string id)
SaveToStorage(string id, object objectToStorage)
DeleteFromStorage(string id)

You can Save all basic value and string types AND... your own Compex data types (DTOs), but you have to mark it as "[Serializable]".

Simple:


SaveToStorage("thnapi", "blahfoobar");
var data = LoadFromStorage<string>("thnapi");
Print(data);


The Neocron Console will output:
blahfoobar

Complex:


[Serializable]
public class MyDto
{
public string Name {get; set;}
public byte[] Data {get; set;}
public List<string> SomeCollection {get; set;}
}
...

var myDto = new MyDto { Name = "...", .... };
SaveToStorage("complex", myDto);
var myRestoredDto = LoadFromStorage<MyDto>("complex");

Biglines
07-04-11, 23:41
lol, KK could take you as an example, 4 hours after a request, a working patch is added ;).

Work is progressing nicely, currently working with a simple gui (just an input box and an output box), I have working:

login, change server, show all rares, show one rare, set value

these are all just using a part of the name to identify (so ruptor will identify disruptor, but holy will pop up all the rares with holy in their name so you can identify which one you want)

I still need to implement it as a plugin, but it shouldn't be too hard to do that. Too bad I don't have neocron installed atm, or I could actually test it :D

Biglines
08-04-11, 03:14
marc, regretfully the storage only works if the launcher is running, when it is closes down, the storage either isnt saved, or when the launcher is started the storage isn't read.

as for the plugin, it's working. pm me for a download link (until testing is complete, and possibly till a better api is used).

usage:

command prefix is either /raredb or /rdb
I'm using <> as indicator of a variable, so don't add those to the actual lines


/rdb login <username> <password>
logs into the raredb, and downloads your current list
example: /rdb login biglines fakepassword

/rdb autologin <username> <password>
When storage is working, this will store the username and password (as well as the current server), in the storage, so you don't have to login every time
Note that this doesn't work yet

/rdb server <number or name>
changes the current server, and downloads the relevant list
example: /rdb server 1
changes to terra
example: /rdb server mars
changes to mars

/rdb list
shows the entire list of rares
example: /rdb list

/rdb list <partial name>
Shows a list of parts that have the search terms in their name
example: /rdb list ptor
this will show both disruptor and the raptor parts
example: /rdb list aptor
this will show the raptor parts

/rdb set <partialname> tp <number> | hp <number> | fp <number> | cp <number> | op <number> | atp <number>
Sets the part counts for the part listed in <partialname>. Not all parts are required, and no particular order is required.
example: /rdb set raptor tp 5 atp 2
This will set the raptor's tp to 5, and the atp to 2
example: /rdb set raptor atp 3 tp 9 hp 3
This will set the raptor's atp to 3, the tp to 9, and the hp to 3
example: /rdb set raptor atp 3 atp 9
This will set the raptor's atp to 9

It is possible that when playing neocron for a long time, the login times out, I haven't implemented an automatic check for this yet, so make sure that you call the /rdb login command before you start adding parts for now. I will see if I can autodetect a session timeout, but until then, regularly /rdb login, or check if the connection is still alive by switching servers:
/rdb server mars
/rdb server terra

Marc Hoover
08-04-11, 08:17
marc, regretfully the storage only works if the launcher is running, when it is closes down, the storage either isnt saved, or when the launcher is started the storage isn't read.

This could be an UAC Problem. Don't worry, i'll fix this in the next update :]

Biglines
08-04-11, 12:56
This could be an UAC Problem. Don't worry, i'll fix this in the next update :]
I run the launcher from my d drive (same as nc), and run the launcher as administrator.

the plugin is fully usable though ;)

I'll start reading about those webservices

Biglines
08-04-11, 13:11
It even has the Neocron version of the "Hello World" function. (I'll let you spot it!)

lol just found it ;) good one ;)

just a question, the raredb api isn't implemented yet is it? (it would explain why I couldn't find it in the link ;))

Biglines
08-04-11, 13:22
This could be an UAC Problem. Don't worry, i'll fix this in the next update :]
nevermind, I tried loading the storage thingies in the start() method, I switched it to the constructor now and storage works perfectly. (the reason I thought it was with the storage methods was because when keeping the launcher alive, the plugin stayed logged in, but this is because the plugin isn't actually disabled as long as the launcher.exe runs)

Marc Hoover
08-04-11, 16:04
nevermind, I tried loading the storage thingies in the start() method, I switched it to the constructor now and storage works perfectly. (the reason I thought it was with the storage methods was because when keeping the launcher alive, the plugin stayed logged in, but this is because the plugin isn't actually disabled as long as the launcher.exe runs)
This seems to be a bug in the storage method, I can save data in the Start() method of the Fallout Plugin. Update will come, so or so.

Marc Hoover
08-04-11, 18:14
nevermind, I tried loading the storage thingies in the start() method, I switched it to the constructor now and storage works perfectly. (the reason I thought it was with the storage methods was because when keeping the launcher alive, the plugin stayed logged in, but this is because the plugin isn't actually disabled as long as the launcher.exe runs)

Okay, I've checked the first version of your Plugin (which you pm'ed me) and it works with revision 85 of the launcher.

btw: You can access the current server with CharacterInformation.Server (string), so you could preselect the server for your operations.

The plugin works great :] *Thumbs up*

Biglines
08-04-11, 20:48
Okay, I've checked the first version of your Plugin (which you pm'ed me) and it works with revision 85 of the launcher.

btw: You can access the current server with CharacterInformation.Server (string), so you could preselect the server for your operations.

The plugin works great :] *Thumbs up*
well if you checked it recently, it's a new one I uploaded there (0.2).

is there an event that gets called the moment a character logs in?

as to your last post, I meant loading, but I could just be using it wrong, my programming motto is, if it works, don't change it :D, storing and auto-logging works now.

once I clean up some of my old code, I'll send you the source so you can see if I made any mistakes, check for evil keylogging parts, and maybe add it to the catalog of plugins.

Marc Hoover
08-04-11, 21:15
Objects:

CharacterInformation
LauncherSettings
(LauncherPluginMetaData) MetaData

Events:

OnNeocronPreparation - When Neocron starts...
OnNeocronConsoleHasChanged - Somethings has changed in the console
OnCharacterInformationChange - Something has changed in the CharacterInformation (Level, Faction, Sector, Name, Clan,...)
OnCharacterDamageInformationReceived - The character receives heals or damage
OnExternalDamageInformationReceived - The character deals heals or damage

Methods:

Print - Prints the given text into the console
SetColor - Sets the color of the (next) given text
ExtractResource - Extracts an embedded resource to the temp. storage
PlaySound - Plays the given Stream or file



Oh nooo! :D There is an AddOn currently in work which is using this api :D

The bold marked is your Event :)
I've reviewed your plugin... test passed :D I'll upload this plugin to the HIVE.

We, the whole community, want more of those plugins... as I said.. keep working! :D

Biglines
08-04-11, 23:10
The bold marked is your Event :)
I've reviewed your plugin... test passed :D I'll upload this plugin to the HIVE.

We, the whole community, want more of those plugins... as I said.. keep working! :D
but that is called every time isn't it? which property only changes when someone is logged on?

Marc Hoover
09-04-11, 00:03
This is the order:

Runner clicks on "ENTER" and chooses the Server -> Event raised (Server Property was set).

Runner clicks on Character -> Event raised (Server & Character Name was set)

Runner logs in finally -> Event raised (ALL Runner data (should) be set... depends on neocron)

Biglines
09-04-11, 01:30
hmm, for some reason neocron isnt working for me anymore...

Marc Hoover
09-04-11, 11:49
Details? :)

Biglines
09-04-11, 17:45
Details? :)
oh not even without the launcher, it just goes to black. prolly just have to reboot, but too lazy to do that

Marc Hoover
09-04-11, 17:59
oh not even without the launcher, it just goes to black. prolly just have to reboot, but too lazy to do that

Oh, okay :D

flib
09-04-11, 21:45
Sounds like something that used to happen to me when I didn't have enough free ram.

Biglines
09-04-11, 22:23
Sounds like something that used to happen to me when I didn't have enough free ram.
i have 8 gb ;)

I'll just copy my backup over my neocron folder and reboot, should work again then.. just cba rebooting ;) I don't play anymore anyway, just installed it to test the plugin :p

flib
10-04-11, 00:49
Doesn't necessarily mean that there's enough free.

Biglines
10-04-11, 00:59
true, neocron prolly can only use 3 anyway. but I don't think thats the case im not running much more than normal

see, reboot and it works perfectly again

any feature requests beyond whats already in there? when i get time ill add the auto-server selection

Brammers
12-04-11, 10:50
lol just found it ;) good one ;)

just a question, the raredb api isn't implemented yet is it? (it would explain why I couldn't find it in the link ;))

No it's not implemented yet. The address will be different as well.

Good work on getting then plugin going, I'll have to play with it later when I get a chance. At the moment, the sun and the outdoors is keeping me away from the PC. :cool:

Biglines
12-04-11, 11:54
No it's not implemented yet. The address will be different as well.

Good work on getting then plugin going, I'll have to play with it later when I get a chance. At the moment, the sun and the outdoors is keeping me away from the PC. :cool:
pff, fake nerd alert! :p

Brammers
14-04-11, 22:02
Right a bit of testing....

One for Marc - On the plugins page, can you label each panel with "Available plugins" and "Active plugins". I managed to get them the wrong way around.

And now Biglines - For the RareDB plugin I got...nothing back. When I type a command should I get at least some sort of message after I type a command, whether the command succeeds or fails? (And I'm not seeing anything on the server logs either.)

Also does the login command cope with usernames with spaces?

Biglines
14-04-11, 22:31
Right a bit of testing....

One for Marc - On the plugins page, can you label each panel with "Available plugins" and "Active plugins". I managed to get them the wrong way around.

And now Biglines - For the RareDB plugin I got...nothing back. When I type a command should I get at least some sort of message after I type a command, whether the command succeeds or fails? (And I'm not seeing anything on the server logs either.)

Also does the login command cope with usernames with spaces?
uhm, yes it should give something back, you have to drag the plugin from the top window to the bottom window, unless you're using the download on my website, in which case it should be in the bottom window. (The one thats automatically in the launcher without manually downloading it, should be dragged from the top to the bottom).

and no, it doesn't allow usernames with spaces in them, didn't know you could have those. If there are usernames or passwords with spaces in them, I'll have to change that, but I was sorta waiting for the api to become available before continueing

Marc Hoover
14-04-11, 23:30
Right a bit of testing....

One for Marc - On the plugins page, can you label each panel with "Available plugins" and "Active plugins". I managed to get them the wrong way around.



Yes Sir! :) I know that the plugin system wins no usability award (at this time), but I want to rework this system fundamentally.

Whats about "open" scriptfiles like WoW did it with LUA files? The launcher compiles the script on demand. Good idea?

Biglines
14-04-11, 23:46
Yes Sir! :) I know that the plugin system wins no usability award (at this time), but I want to rework this system fundamentally.

Whats about "open" scriptfiles like WoW did it with LUA files? The launcher compiles the script on demand. Good idea?
I'd first find out if people are actually interested in making the scripts before you start implementing it ;)

and i prefer the current .dll system, but have official plugins compiled by you (I mean, you have to be trusted anyway, you could do anything with the launcher :p)

Brammers
15-04-11, 01:45
uhm, yes it should give something back, you have to drag the plugin from the top window to the bottom window, unless you're using the download on my website, in which case it should be in the bottom window. (The one thats automatically in the launcher without manually downloading it, should be dragged from the top to the bottom).


I wasn't getting anything at all when I tried the /rdb or /raredb command.



and no, it doesn't allow usernames with spaces in them, didn't know you could have those. If there are usernames or passwords with spaces in them, I'll have to change that, but I was sorta waiting for the api to become available before continueing

Ok, no probs. Yes THN usernames can have spaces in them. Not many, but I note one user has just recently joined who has a space in their name. (Not just me with a test account!)

That does mean my API idea for a username and api-key gets a little shot since I also made the mistake of assuming usernames didn't have spaces in them. For the API key I was thinking a random MD5 hash, but I'm open to ideas here.


Yes Sir! :) I know that the plugin system wins no usability award (at this time), but I want to rework this system fundamentally.

Ok cool! :)




Whats about "open" scriptfiles like WoW did it with LUA files? The launcher compiles the script on demand. Good idea?

Ermm *splutters*. Never liked the look of WoW, even if a few peeps did try to get me into it.

Anyway, how open is open? Allowing .NET files to be compiled on demand sounds a little worrying. Maybe some details here will help. However I'm in the dark how WoW works with LUA files here.

Biglines
15-04-11, 02:22
I wasn't getting anything at all when I tried the /rdb or /raredb command.

then it probably wasn't installed, either manually download the plugin from the link I sent, and extract it to the /plugins/ folder, or drag it from the top window in plugins, to the bottom window in plugins (and open the launcher as administrator, and use the launcher to run neocron :p)


it's not too difficult to check for a " at the beginning of a string and then add the next parts of the message until it comes across another ", so it's easy enough to implement.

Marc Hoover
15-04-11, 22:56
New Plugin / AddOn:

MULTIPLE LOGIN ENFORCER v1.0

Description: Enable the Launcher to start multiple Clients with different game ports so you can login multiple clients at the same time.

Biglines
15-04-11, 23:47
New Plugin / AddOn:

MULTIPLE LOGIN ENFORCER v1.0

Description: Enable the Launcher to start multiple Clients with different game ports so you can login multiple clients at the same time.
how does this work? just set the port to a random number each launch?

Marc Hoover
16-04-11, 00:03
how does this work? just set the port to a random number each launch?

yepp :]

Biglines
16-04-11, 00:33
yepp :]
here's maybe an addon that wud make it awesome, have the plugin check when someone logs out to homescreen, and reset the port (this way, when you want to switch chars on the first client, u can actualy dual log, atm you have to start a new client or change the port in the inis)

Marc Hoover
16-04-11, 00:39
Hehe, the Launcher v1 did it, the Launcher v2 partially did it and now.. the Launcher v3 will did it too :)

Next incoming Update:

Some Plugins will get a configuration UI, you have to "reimplant" all your installed plugins next time :D

Biglines
16-04-11, 01:28
Hehe, the Launcher v1 did it, the Launcher v2 partially did it and now.. the Launcher v3 will did it too :)

Next incoming Update:

Some Plugins will get a configuration UI, you have to "reimplant" all your installed plugins next time :D
will that be documented? would be good to set user/pass outside of neocron ;)

Marc Hoover
16-04-11, 01:34
will that be documented? would be good to set user/pass outside of neocron ;)

This funtionality was implemented since the first version :)

You have to create a WPF UserControl and set the Property "View" with an instance of this UserControl.



_configView = new ConfigView();
View = _configView;


Remember: Do not forget to set the IsBackgroundWorkerOnly property of the MetaData Class to TRUE.



IsBackgroundWorkerOnly = true

Biglines
20-06-11, 12:26
brammers, did you by any chance finish that api?

Brammers
20-06-11, 13:12
brammers, did you by any chance finish that api?

No. And I'm not going do anything for now. Seems you was the only one interested in the API. Also you have a working version that I'm happy to let you use against the Rares DB.

Why? TBH, until KK get their finger out of their arse and do something with Neocron, there isn't any point of me doing any new code for the THN. As far as we may know, KK could close NC next week. I just hope not mind, but I am asking myself what is the point of doing something, when the publisher of the game does nothing way too often these days.

Biglines
20-06-11, 13:48
No. And I'm not going do anything for now. Seems you was the only one interested in the API. Also you have a working version that I'm happy to let you use against the Rares DB.

Why? TBH, until KK get their finger out of their arse and do something with Neocron, there isn't any point of me doing any new code for the THN. As far as we may know, KK could close NC next week. I just hope not mind, but I am asking myself what is the point of doing something, when the publisher of the game does nothing way too often these days.
ah k,

ill see if I finish off this plugin then.

marc, could you give me an example of the code for a configuration where u add the username and password and store it somewhere?

MrTrip
20-06-11, 22:22
No. And I'm not going do anything for now. Seems you was the only one interested in the API. Also you have a working version that I'm happy to let you use against the Rares DB.

Why? TBH, until KK get their finger out of their arse and do something with Neocron, there isn't any point of me doing any new code for the THN. As far as we may know, KK could close NC next week. I just hope not mind, but I am asking myself what is the point of doing something, when the publisher of the game does nothing way too often these days.

Unfortunately I have the same attitude towards Neocron.org, I haven't done any development on the site other than adding counters and adding a petition.

I've had ideas for email accounts, player pages etc but why would I even bother when NC may be shut down in no time?

Marc Hoover
21-06-11, 11:08
ah k,

ill see if I finish off this plugin then.

marc, could you give me an example of the code for a configuration where u add the username and password and store it somewhere?
Queued :)

Terror_Nonne
21-06-11, 11:49
same. :(

Marc Hoover
21-06-11, 17:24
ah k,

ill see if I finish off this plugin then.

marc, could you give me an example of the code for a configuration where u add the username and password and store it somewhere?




public class AuthenticationPlugin : LauncherPlugin
{
private string _user;

public AuthenticationPlugin(HostCommunication hostCommunication)
: base(hostCommunication)
{
MetaData = new LauncherPluginMetaData
{
Name = "Authentication Test Plugin",
Description = "blahblahvlah",
HomePage = "http://www.ultimate-networx.net",
IsBackgroundWorkerOnly = true,
MenuCaption = "auth test"
};


_user = LoadFromStorage<string>("user");
OnNeocronConsoleHasChanged += AuthenticationPlugin_OnNeocronConsoleHasChanged;
}

void AuthenticationPlugin_OnNeocronConsoleHasChanged(uneX.Hurricane.Games.Neocron.Parser.ConsoleLogItem consoleLogItem)
{
if (!consoleLogItem.IsCommand && !consoleLogItem.IsLocalOnly) return;

if (consoleLogItem.Text.StartsWith("/auth test"))
{
var pass = LoadFromStorage<string>("pass");

Print(string.Format("User: {0} Pass: {1}", _user, pass));
return;
}

if (consoleLogItem.Text.StartsWith("/auth"))
{
_user = consoleLogItem.Text.Split(' ')[1];
var pass = consoleLogItem.Text.Split(' ')[2];
SaveToStorage("user", _user);
SaveToStorage("pass", pass);
Print("login stored");
return;
}
}

public override bool Start()
{
if(!string.IsNullOrEmpty(_user))
{
Print(string.Format("Welcome back {0}! :)", _user));
}

return true;
}

public override bool Stop()
{
return true;
}
}



This both keywords will help you :)

_user = LoadFromStorage<string>("user");
SaveToStorage("user", _user);

Biglines
21-06-11, 17:46
well that part was already working, I meant that you said you had a way to configure plugins in the launcher itself, like a configuration page for the plugin.

In the console you can already save you thn user/pass ;)

Marc Hoover
21-06-11, 19:30
well that part was already working, I meant that you said you had a way to configure plugins in the launcher itself, like a configuration page for the plugin.

In the console you can already save you thn user/pass ;)
Ahhhhh, UI is what you mean :D

Biglines
21-06-11, 20:17
well I already have a CLUI :p now I'd like to know how to use your GUI ;) (change of pace, usually I'm working on TUI's :p)

Marc Hoover
27-06-11, 15:01
You'll need some skills in WPF :] WinForms is not supported at this time.

Kamuix99
27-06-11, 19:11
Hiya Marc,

I already asked in German Forums. What exactly is the benefit for the ultimate Launcher. I understand that there are news posted, but also heard something bout improved graphics or music in game?

And just in case, i have no clue bout programming or whatsoever, so keep it simple :)

Marc Hoover
30-06-11, 17:00
Hello guys,

if someone goes wrong with the launcher or other "unex" related things: our server will move the next time. Sorry for some upcoming inconvenience, we try to keep it small :)

Marc Hoover
23-11-11, 15:53
Okay guys, the complete ultimate launcher system is back again. Includes Plugins, Fallout Radio and news!

You can now start and update the launcher to the lastest version :) have fun!

Brammers
23-11-11, 16:04
Okay guys, the complete ultimate launcher system is back again. Includes Plugins, Fallout Radio and news!

You can now start and update the launcher to the lastest version :) have fun!

What's new in the latest version?

Marc Hoover
23-11-11, 16:17
Nothing new, its only a test build. I moved all the launcher related things to a "dedicated launcher only server". Now I am able to develop further updates :) (server was down for a long time).

-> http://launcher.ultimate-gaming.eu/nightly/

Marc Hoover
23-11-11, 23:17
Update:

Fix in the Damage Sounds Plugin, please reload the plugin from the HIVE. It should work now correctly.

tarasm
24-11-11, 00:32
^^ this guy put more work into neocron community than kirk in the last 5 years

Biglines
24-11-11, 00:55
Update:

Fix in the Damage Sounds Plugin, please reload the plugin from the HIVE. It should work now correctly.
did I ever send you the techhaven rare database plugin? (and does it need to be updated?)

Marc Hoover
24-11-11, 08:43
^^ this guy put more work into neocron community than kirk in the last 5 years

lol <3


did I ever send you the techhaven rare database plugin? (and does it need to be updated?)

Yes, there is a THN Plugin in the HIVE. Its yours! :)

dodgefahrer
24-11-11, 13:24
^^ this guy put more work into neocron community than kirk in the last 5 years

Yeah so true.....KK should give him the source-code so he can work on a better NC =)

Marc Hoover
24-11-11, 16:14
Yeah so true.....KK should give him the source-code so he can work on a better NC =)

Oh noez! :D

dodgefahrer
25-11-11, 15:34
Oh noez! :D

Lazy Biatch !!!!!!!!!!!!

I know you worked hard on the launcher tool to give the comm smth usable ingame what i trully respect.
So wheres the problem to work on a propper NC? xdd