Aller au contenu

Photo

Never Launcher - method of browsing and joining games


  • Veuillez vous connecter pour répondre
45 réponses à ce sujet

#1
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 messages
Posted Image

This is a program I have been working on.

It works for both NWN1 and NWN2, PC and Mac ( and probably Linux ). It allows you to browse the available PW's, using the Skywing API, and click Play to open them up right to the given game. Still a lot of things to add, such as custom queries and categories.

It does not fix the actual gamespy problem, nor is it for every one as there might be better solutions - this should however be something everyone can use since it's stand alone and runs on just about every platform and lets you sidestep the problem. I actually have been developing it more as a content management tool, which aimed the "Launching" feature as a way to detect when a module is about to be used, so i can verify it - but most of that is away from being complete.

Been working on the User Interface - and an auto patcher for this mac version to upgrade my version to 1.69 finally since mac's don't have an updater. ( Again my original goal is not a launcher, but a tool which when you hit play, figures out if there is anything wrong and goes ahead and fixes it right before you open the module or PW )

I need to get if possible the 1.69 versions of the other languages besides english - I see 1.68 on the vault and in links here. Might be able to reconstruct 1.69 packages if the language specific changes are inside the resource files. I am thinking of getting another copy at the Nexus in case the vault goes down.

I also have a single player listing of modules for NWN2 ( basically based on what is found in the forums here by level ) as a 2da files. I would need someone willing to help me get something like this together for NWN1 as the listing is just a placeholder at present. I will assemble it at some point, but it's probably not going to be up to date unless someone is adding new modules to it.

This requires being listed in Skywings API, which is used by others in the community such as http://www.nwnlist.com    - I have code again for both Gamespy and Skywings API, basically i will use whatever all the PW's happen to be using, but also I am not going to deal with 5 or 6 groups all doing the same listing.

Also the background is just a bmp file, it can be customized as desired  - i just used an old NWN1 desktop picture at the present.

I also need people willing to beta test this who have various platforms, especially people willing to help me iron out all the differences on different platforms, and willing to help me work thru various bugs which I am sure are going to happen.

Modifié par painofdungeoneternal, 15 janvier 2013 - 10:03 .


#2
HipMaestro

HipMaestro
  • Members
  • 1 515 messages
Sweet!  Very nice work.

One aspect of the current (Gamespy) browser that I've had issue with all along is the query limitations.  The broad categories used now are fairly vague especially when more than a single category can apply to a single PW.  It would be great to be able to search for worlds that use a specific patch version and/or the more common paks like CEP and the versions they require.  Granted, the requirements are usually contained in the server description, but it would be more helpful to be able to identify, for instance, all servers that use no higher than CEP 2.2 that examining each server detail one-by-one until a player finds one they are equipped to join.  It would require admins to populate new fields for their address but it may be worth exploring, seeing as how we are in the re-invention stage.

Regardless, the format here looks friendly to me ;)

#3
Lazarus Magni

Lazarus Magni
  • Members
  • 1 134 messages
Awesome stuff. You can count me in for doing some beta testing if you like.

#4
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 messages

HipMaestro wrote...

Sweet!  Very nice work.

One aspect of the current (Gamespy) browser that I've had issue with all along is the query limitations.  The broad categories used now are fairly vague especially when more than a single category can apply to a single PW.  It would be great to be able to search for worlds that use a specific patch version and/or the more common paks like CEP and the versions they require.  Granted, the requirements are usually contained in the server description, but it would be more helpful to be able to identify, for instance, all servers that use no higher than CEP 2.2 that examining each server detail one-by-one until a player finds one they are equipped to join.  It would require admins to populate new fields for their address but it may be worth exploring, seeing as how we are in the re-invention stage.

Regardless, the format here looks friendly to me ;)


Thanks for the support.

My main concern on queries is how to do it easily and using a minimum of real estate, in fact i just am pulling the complete list at the moment to get this launched. Welcome to ideas in this area. Right now each column sorts by clicking on the top which is very helpful. Perhaps a search box, combined with a pulldown menu for category ( gametype, server name, description, etc ). Need to review how i store the data internally, and how i get it from skywings API, as i'd probably need to keep my copy (on your system) in sync with his.

The CEP version i really want to get as information, with that, i can download, do crc's and the like, and make sure players have the right content for the game they are joining. Also I can provide downloading features like in NWN2, assuming the servers URL contains data on the module requirements of some sort. ( not that it's an immediate project ). Might need to have an editor do this for the PW's.

The current options are indeed limited I would actually like to include vault pages, IGN vault ratings, and extra information, but still working out how to align that info which is static, with servers which have dynamic IPs. ( server name perhaps being used to migrate, but admins can change all the names slightly and get a new IP.

#5
OldTimeRadio

OldTimeRadio
  • Members
  • 1 400 messages
Looking very cool and very useful! Keep us posted!

#6
Rolo Kipp

Rolo Kipp
  • Members
  • 2 790 messages
<grinning like...>

Fantastic!
This is 75% of what I've been (in my laid-back way) pushing for for years!

Beyond my enthusiastic praise, I offer whatever limited (unfortunately, you *know* how limited ;-/ ) support I can give from the Vault end.

<...the madman he is>

#7
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 messages
Those interested in discussing, or helping with the Single player listing of modules, I wanted to do a topic showing where I am headed with that.

http://social.biowar.../index/15613771

#8
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 messages
Just some progress to report
  • Automated Installation of patch 1.69 on mac ( english ) from zip file. I don' t think there is a version for other languages. This is to replace the now not working open knights updater. ( I was at 1.68 so it was a good test case ). Ability to detect installed version, language and expansions by examining installed files, or using registry. Need to figure out location of update files for other languages, or some means of recreating them, also see if this is needed for PC version. ( mainly this means 7z an zip archive suppport )
  • Successful launching of NWN2 connecting to a PW chosen from the server list. ( tested again on a Mac )
  • Automated Installation of CEP 2.4 ( contents in a tar compressed archive ) and connection to a PW that requires CEP. ( had to add rar archive support )  ( need to determine if CEP 2.4 i have setup works for all PWs, or if I need to implement CEP 1. as well, or if there are more versions needed )
  • Looking at how to install PRC 3.5 from their vault content now, and what is needed for merging ( mainly for PW usage ), aiming at connecting to a PW that requires PRC 3.5, CEP, and a merging hak/tlk file of some sort that let the two work together, and their own custom hak. ( going to look at doing my own merging, so if one group updates, no issues arise from conflicts created )
  • Rough Vault page parsing module, for importing data for the module list, and other purposes. ( ie, so my list of modules and PW's can easily get meta data for players to use to search for the perfect game to play, and so anyone maintaining a list can quickly and accurately get detailed module information )

I am now looking at how to determine which haks are in use by which PW's, thinking i can set up instructions and download locations for most of the servers in the PW list. If a PW wants to use a hak, I want to make it so that is not a barrier for end users wanting to play on the given world, it will just mean a delay while needed files are downloaded and installed. Also to make it clear which PW's in the list require downloads, and which are all ready to just connect to them as is.

Also looking at the ability to automatically download and install NWNCX and the NWN2 Client Extender latest versions.

I also need to work on package/version/patching control, using CRC checksums to verify files and download any new updates for a players chosen installed content, as well as things like NWNCX, CEP, and the like.

Modifié par painofdungeoneternal, 28 janvier 2013 - 06:31 .


#9
Rolo Kipp

Rolo Kipp
  • Members
  • 2 790 messages
<cheering...>

Fantastic!
Let me know if I can help...

<...up>

#10
Lazarus Magni

Lazarus Magni
  • Members
  • 1 134 messages
Bump

#11
DagNarus2

DagNarus2
  • Members
  • 15 messages
dude nice browser definitely what the game needs.

I know people want to play this game they just can't find eachother.

#12
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 messages
More progress on development
  • Improved Package generation support, a package can be created by drag and drop, and can be followed as a script which downloads, and extracts files from an archive and installs them in the proper locations ( using NWNCX and CEP to test if this works ). Working on more advanced script command syntax to be integrated to do on the fly modification of game resources, and dynamic diffs. Still can use any older versions of NWN1 to enable accurate migrations for old content ( if you have a combined update for 1.67 or before, that is the file i could use, one for each version used by anything on the vault )
  • Multiplayer list now has option to filter by category ( action, roleplay, etc ) or by all.
    Posted Image
  • Direct connect allows players to join servers not in the Tracker ( ie skywings API central tracker, not run by me but what is used by NWNCX and many others in the community.) Still thinking thru the interface here, will be subject to change.
    Posted Image
  • Option to crowd source the server data, check box to allow players to automatically add servers they join, if the server is not already tracked, and button to add a server. It automatically resolves local ip's to the public ip address when adding to the tracker. Verfies via a direct gamespy request that it's an active server before it adds to the tracker. Also displays information about the server before connecting, and whether it's in the tracker.
  • Button to add multiple ip's for servers quickly. Just copy a list of ip's to the clipboard, then hit the button, and say yes. It spends about 2-5 seconds per ip, makes sure it's active then adds it to the tracker. Should allow people who have lots of ip's they think are missing to add them.
    Posted Image
    ( and yes, this means that a lot more servers are on NWNCX at this point, this is designed so as people find missing servers ( like xfires listing ), the community can easily get them into the tracker )
  • Auto-updating of the app itself, can do a version check on the website, if it's obsolete asks if you want to install it, it will download the latest version, then quit and restart with the new version. This ensures when this is working well, that i can quickly fix any bugs in the released version, or know that i can release the partially working version and that everyone will get all new features as they are completed. ( and it's actually using the same system for package version control to ensure it's up to date )

Modifié par painofdungeoneternal, 23 mars 2013 - 10:14 .


#13
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 messages
updated this thread, latest release includes the above features Never Launcher and more which are listed there.

Current Download link  Download Never Launcher

I am mainly posting over there because I don't want to be everywhere, but this is fully supportive of both NWN1 and NWN2, Mac and PC, SP and MP, Injection and those who refuse to inject, modding of your install and vault content and those who don't want anything touched. The goal is not to take sides, but to make however YOU want to play the game easier.

This is a beta program, which means it's probably going to have issues, please report them so I can solve them or sidestep them, the primary goal here is to make end users not have to think. Secondary goal is to let those of us providing tech support to be able to direct them to hit a given button and to be assured that certain steps were followed ( like the button that gets some system specs ).

This is still beta, but it's getting more usable, and I would like feed back aimed at areas which can be quickly wrapped up so it's usable by real people. I'm going to keep calling it beta until i stop hearing of issues and that everyone trusts that it's rock solid.

Modifié par painofdungeoneternal, 20 juin 2013 - 03:20 .


#14
BelowTheBelt

BelowTheBelt
  • Members
  • 394 messages
Thanks for doing this! Been following this for a while and think that the promise of this tool to detect and auto-download haks/file can bring to life so much of the fantastic custom content that has been developed by the community (but probably not as often used by PWs because it requires the playerbase to download it themselves or the creation of a custom auto-downloader). The idea of 'one-click' simplicity to join is fantastic.

Can you clarify what the status is of hak identification/installation - I note some earlier comments about CEP/PRC, but what about custom haks? How do you envision hak updates to be handled (either the requirement of a new hak or an updated existing hak)?

I'm happy to help test.

#15
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 messages
Installation / downloading is partially done - the part where i have the content info and it's download url all organized for the entire vault. I also have manual code which hits a button, and downloads NWNCX, NWN2 client extension, and the CEP. The problem is that this hard coded routine needs to be dynamic since there are 16,000 pieces of content you can download today. That is basically the next step.

I am working on linking the vault information with the information on the Skywing API - basically i need to ping your server and know which vault entry is yours. ( confused by folks deliberately using the same name to game the system when the ip changes, or when the module reboots ) To a degree this is guessing but should be usually right.

I believe i can get the list of haks for the module ( already have references for this via wireshark and on nwnx.org, and just implemented gzip/zlib handling for this )

I also intend on making a NWNx plugin for both NWN1 and NWN2. This would have a secret key generated by the PW which would match what is on the vault ( you login to the vault to see what it is ). This key would let your pw update data in the api/vault dynamically, so all the files would be posted there, current events would be listed, current number of players - basically using skywings api but at the same time including a far more complete picture, such as forums, etc. Also when your pw is down for a while, it moves it to the inactive graveyard automatically so players don't wonder which PW's are up. Mainly a convenience, so the owners of the PW just have to focus on their PW, and have the plugin handle the work of managing the vault page. ( further those using this would have more security since i would know its actually owned by the person using the vault page )

Those using my app would use that vault info to autodownload, but further all players would be able to use the vault to manually get what is needed. ( frankly i am confused by most PWs and what they describe, need to really work harder on making it clear and step by step for PW's using haks if they don't say CEP, even then that only helps those of us who know what CEP is ) Not to mention it would check versions as well, sometimes pw's keep the same name and add more files, a sha1 would ensure it's the actual correct file. ( My system would also help sync up anything from the vault to the PW, and to the players, so any shared hak systems would be kept in sync automagically )

This is all open, so a NWNCX version of the same should be doable as well. ( or use it via bash scripts, whatever you can think of doing )

Those refusing to note what they are doing on their server, would need me, or another member of the community to identify the hak download url for that PW. Most use CEP so that seems doable, but I am hoping PW owners who are using non standard haks see this as an additional tool and are willing to configure it. ( it needs to be maintained by the community in the long term, standard haks would be assumed if the name matches the CEP haks for example unless they configure it )

Modifié par painofdungeoneternal, 20 juin 2013 - 05:51 .


#16
Lazarus Magni

Lazarus Magni
  • Members
  • 1 134 messages
First of all, thanks for doing this Pain. Been waiting for you to release this for a while also.

Secondly, in NWN2, they used to use a program called Worldgate for autodownloading/updating haks, prior to it (or similar functionality) being incorporated into the actual NWN2 game itself. I believe I still have a copy of this, if you would like a looksie (for reverse enginering potential), or perhaps you could post on the NWN2 forums, and see if anyone involved in that program might give you some ideas. I believe you have my e-mail, so feel free to e-mail me if you would like my copy (although I may have to dig for it.)
Laz

#17
Lazarus Magni

Lazarus Magni
  • Members
  • 1 134 messages
P.S. Let me know when you stop considering it beta (or even if it is still beta, but good enough for distribution), and you would like it to be added to the gamespy replacement stickeys (here, on the NWN1 facebook page, and on gog.com). I will happily do so (or of course feel free to do so yourself, they aren't locked.)

Modifié par Lazarus Magni, 22 juin 2013 - 01:49 .


#18
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 messages
I have worldgate source - and already have all the file formats involved recreated so I can actually do what it does without any dependencies on any platform. ( I used worldgate prior to 1.23 for my PW and really loved how it worked, even though this is going to be a bit larger system than a single PW  )

I am modeling after the autodownloader, so what i am doing is more compatible, and so staging is actually easier since I can fix the issues which cause headaches. ( the stated goal is migrating the ADL to SP and NWN1 ) I am thinking i can also do incremental haks as well like worldgate, but using ranged reading of files - the vault file storage API has some advanced features.

Note that I appreciate any feedback, noting your specs and such if it does not work ( lot of issues figuring out installed version so far ), or just simple things ( like someone wanted the module listing wider so it's more readable )  I am going to follow the community's decision on when it leaves beta, am really leery since it is on so many different systems.

Modifié par painofdungeoneternal, 22 juin 2013 - 02:31 .


#19
Lazarus Magni

Lazarus Magni
  • Members
  • 1 134 messages
Ok, will do.

P.S. When are you going to bring back DeX? That was one of my favorite PvP PWs, along with Badlands...

P.P.S. Looking forward to you replicating worldgate in the NWN1 format. We might actually consider custom (other than CEP) haks on our world then.

Modifié par Lazarus Magni, 22 juin 2013 - 03:00 .


#20
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 messages
Well it would have to be seamless and nothing like worldgate. I am thinking it is best to have it integrated with your PW's vault entry, either via website ( synced via my app ) or via a NWNx plugin which can sync directly from the PW to the vault via an API, or even manually. I also am looking at a PW being able to broadcast status, events, news, and other strings from inside the game ( ie clancy shouting that Lazarus got killed by a skeleton again, or Billy Bob hit level 10 ), and for those messages to be visible on the vault page, and also on that PW's forums or other PW's all via that central Vault API.

The API will be open, so others can leverage it ( ie compete with things I am doing, or just innovate features faster than me by being able to access the same data ) and still unify the entire system. Players can then download the needed haks directly from the vault ( which unlike now is always up date ), can use never launcher, or a NWNCX plugin can be developed as well. Also if a piece of content is used by 20 PW's has an issue, the author should be able to push it out to all the players/PWs ( thus solving some of the issues NWN2 has with multiple copies of the same haks ).

One step at a time, still developing the downloading 400 gigs of vault content part, but a lot of these other ideas are actually not going to be that hard since I will be starting to reuse features being used for what I am setting up now.

( Dex2 wil be up after I get this done, and after I resurrect the computer that it was running on, just so much time, hoping that this system actually makes it easier to manage a PW. And I also think i got my son working on setting up a minecraft version of dex too, seems like they don't have real PVP yet )

Modifié par painofdungeoneternal, 22 juin 2013 - 06:23 .


#21
henesua

henesua
  • Members
  • 3 863 messages
Pain, this is amazing! Especially for a beta. Thanks for doing this. Great work.

I'm going to encourage people over on the Vives PW board to download this. I am sharing that link you posted above. When/if you post a more recent link let me know and I'll keep it up to date on those other boards.

Modifié par henesua, 24 juin 2013 - 02:59 .


#22
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 messages
Thanks for the kind words.

That is going to be the same link for a while ( if you download it 3 weeks from now, it will be the most recent version, just using that one link ). I am planning on moving it to an actual vault 2.0 download page eventually, and distribute it using the same system which it uses to download other content, but that will take a bit to complete.

If you neglect to download it, it should offer to get you any new versions automatically. This the way any bugs can be smashed for ALL users quickly as the issues start coming in. ( This is an area of crossed fingers still, but should actually update properly for anyone who has anything newer than a month ago )

( Make sure the PW knows that this still has a lot of incomplete features planned, input into that is appreciated - i notice they have custom haks which is a central issue I am hoping to eventually address )

Modifié par painofdungeoneternal, 24 juin 2013 - 03:53 .


#23
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 messages
Screen shot of scraper

Posted Image

The main thing to not do is check the "Update" button. This allows multiple people to do this at the same time and not redo what has already been done. People can still run into each other though if they are doing the same project at the same time (especially if it's the CEP)

It automatically makes sure we ( the vault 2.0 ) have the file on one of our servers via the upload checkbox, if we don't already have it.

The delete files when done is optional, if you want to keep these on your system, go for it.

Ideally we can get people to run this, target sections, especially sections with lots of small files.

( make sure you can access the vault though, it won't work if it's down, Friend/PM me if you want to help with this or more information or just discuss it. )

This is all a bit redundant, as Rolo has a archive of it, however the way this does it, it makes it so it gets actually usable much faster. I have to develop methods to get it from his archives onto the vault, and I am trying to do it directly which I think is more likely to be accurate.

#24
kamal_

kamal_
  • Members
  • 5 244 messages
Got the latest neveraluncher, but am not sure what kinds of ranges to put in for the "from-to".

#25
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 messages
This is how many are on the actual API, and the ranges which the vault can handle

The major tasks that the scraper is doing are

Generating SHA1 and MD5 for each file - which makes sure we know the correct file
Saving these files in a REST Api which Never Launcher can use to download later
All information is put into the new vaults database, later on this will be imported into listings on the drupal site.

Also verify we have a copy on the server, if not it's uploaded
Any files are a redundant copy ( but then its a good idea to get another copy just in case ), but the other system does not track SHA1, and it's not organizing the data like this is, just archiving it.

In process.

  • Modules Range:1-6397 Have up to: 6393 ( need latest modules )
  • Gameworld Range:1-1392 Have up to: 1392 ( complete )
  • Hakpaks Range:1-8218 Have up to: 7849 ( Need that last 500 )
  • Models Range:1-505
  • Creatures Range:1-691
  • Scripts Range:1-3884 Have up to: 2605
  • Characters Range:1-1451 Have up to: 50
  • Portraits Range:1-6413
  • Prefabs Range:1-1238
  • Sounds Range:1-882
  • Textures Range:1-164 ( complete meaglyn )
  • Ideas Range:1-3174
  • Screenshots Range:1-500
  • Movies Range:1-639
  • Links Range:1-291
  • Community_News Range:1-2999
  • Other Range:1-1544
  • NWN2ModulesEnglish Range:1-531 Have up to: 529 ( complete Kamal )
  • NWN2ModulesInternational Range:1-75 Have up to: 75
  • NWN2Gameworlds Range:1-275 Have up to: 274 ( complete Kamal )
  • NWN2HakpaksOriginal Range:1-590 Have up to: 490 ( Complete Kamal )
  • NWN2HakpaksCombined Range:1-62 Have up to: 62 (Complete Kamal )
  • NWN2HakpaksModuleSpecific Range:1-42 Have up to: 42
  • NWN2PWC Range:1-141
  • NWN2Models Range:1-240 ( complete Kamal )
  • NWN2Tools Range:1-104 ( complete Kamal )
  • NWN2Plugins Range:1-114 ( complete Kamal )
  • NWN2Characters Range:1-114
  • NWN2Portraits Range:1-97
  • NWN2PrefabAreas Range:1-637 ( in process nivviv )
  • NWN2PrefabPlaceables Range:1-167
  • NWN2Scripts Range:1-409
  • NWN2UI Range:1-174 ( in process Kamal )
  • NWN2VisualEffects Range:1-73 ( complete Kamal )
  • NWN2Textures Range:1-51  ( complete Kamal )
  • NWN2Tutorials Range:1-141 ( complete Kamal )
  • NWN2Strategies Range:1-11 ( complete Kamal )
  • NWN2Ideas Range:1-487
  • NWN2UserScreenShots Range:1-362
  • NWN2Movies Range:1-168
  • NWN2Articles Range:1-300
  • NWN2Reviews Range:1-54
  • NWN2CommunityNews Range:1-350
  • NWN2GameInfo Range:1-122
  • NWN2Links Range:1-41
  • NWN2Other Range:1-297 Have up to: 19 Pain doing up to 20
  • FanFiction Range:1-571
  • Portfolios Range:1-5429
  • Artwork Range:1-1039

Note the above categories are the actual vault category names.

To see what is in the Vault API, you can actually use a simple web browser to review it. ( Safari actually has a very nice interface, Chrome or Firefox likely will be able to handle it well )

The syntax is

http://api.neverwint.../project/vault/VaultCategory/VaultID/

or if the Vault Category is "modules" and the Vault ID in that category is 621, it is as follows which you can try in your browser.

http://api.neverwint...lt/modules/621/
Retrieve an item with the vault category of "modules" and id of 621, returns a 400 error if it does not exist.

Note that this includes the file to download with the project and it's original vault download url. --> http://nwvault.ign.c...load.php?id=963

However the SHA1 is also there
<sha1>53B1B48513819FE66847A1DDAC2AB47FA0E1774E</sha1>

Which will be usable on the Vault Storage API to retrieve that original file and download it. I am not revealing that URL yet because we don't have that much bandwidth available yet ( that means paying for a better server or doing more like a torrent system where it's coming from different users systems ), but that file is online and downloadable.

Most of my focus is on preserving what was, but this is an OPEN api, which means anyone can build tools off of it. It's simple enough so you should be able to guess how it works to a degree. If you can build a widget using this data, can work with the issues related to our limited bandwidth, I can provide you all the specifications so you can create something which competes with what we are doing on the Vault and with Never Launcher. I also have need for people to host servers/mirrors for the Vault Storage API which actually allows people to download the files, or start paying a hefty fee to make that possible.

Modifié par painofdungeoneternal, 27 juin 2013 - 08:09 .