Aller au contenu

Photo

NWN 1 lives on!


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

#126
Baaleos

Baaleos
  • Members
  • 1 322 messages
If there is a demand for a community launcher - then perhaps the first step should be to actually put together an official list of requirements, and treat it like a real project.
I dont mean to bash anyone about this project- but its been talked to death for months, and I myself am guilty of this - I've said aload of things I consider would be great additions, but never released anything - because everyone wants it in a universal language like ruby etc

Do we have a centralized list of features or requirements for the launcher?

#127
henesua

henesua
  • Members
  • 3 858 messages
I want the launcher that Pain has talked about. :)

#128
Urk

Urk
  • Members
  • 232 messages
I agree with pain. Any attempt to "centralize" or "standardize" a gamespy replacement would not only be futile, it would be ill-advised. Even if we could get the entire community to agree on an alternate solution, which will NEVER happen, what happens in 5 years when the person or persons responsible for maintaining the "official community" server has a change of heart and shuts it down?

No. Decentralized solutions are better than centralized ones. It allows more freedom of choice and reduces the chances of a catastrophic system failure.

I also think low tech solutions are better than high tech ones. Again... down the road things change. The player base will continue to dwindle, and that means the skill set for maintaining fan based systems will also get smaller. If the solution is not open sourced and the developer decides to abandon the project... system failure. If the system is overly complicated, if it requires expensive licenses to use, or if it's just badly comented and the developer decides to abandon the project and the community does not have the skills and/or money to maintain it... system failure.

Besides, retro gamers are a pretty smart lot. I think you'll find the vast majority are quite accustomed to making mod choices and tweaking old games to work on modern machines.

Modifié par Urk, 25 mars 2013 - 08:27 .


#129
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 messages
not total agreement.

There has to be one authoritative and centralized list of what servers exist. Having multiple lists makes it hard on the PW admins trying to get on every list, and creates issues where some servers are on one list and not another, and makes it very complex for third parties like myself who want to use that data - hmm lets get what he has and he has and merge both of them. That data can be mirrored, synced, and the like, but we need a central spot which has authority for what is up and what is not up.

That being said, the data HAS to be open, with a secure and well run host, with posted code to allow us to recreate it easily if need be, and that data should be usable by anyone in the community who so desires, to access via any programming language dynamically.

I understand what NeverwinterConnections is planning, it just does not make sense since there are PW's listed on the Skywing API using the single method you are proposing ( hosts file edit ) as the only means they could get to work. The skywing API has developed and matured enough to have a lot of methods of joining it, but the most "Simple" method it is using, and you are proposing to use of hosts file edit, would require a PW admin to choose which one. And the benefit of it is limited to just getting another website ( we have plenty already ) and would not be available to third parties, for in game server listings, for my launcher.

The skywing API specializes in the gamespy replacement, it's all it does, it does this using multiple methods, including all the ones so far discussed, and has a working and well tested system. There are bugs in it, like any software project, but those are minor and will be dealt with long before your competing system is up, and it's supporting an ecosystem of projects all of which are already reliant upon it.

If you do decide to continue with your project, it's imperative for the community that you talk to skywing, work with him on making sure that any servers choosing yours over his, is properly synced. As for your getting his server listing, it's open and available for you to get dynamically, and i have a rough working php class which can be used as a starting point.

( Note that for the most part, the developers of all the existing projects are ALL working together and getting the data into Skywings API, or using his API, there is already widespread agreement under the hood, the only real exceptions are XFire and Gameranger who are using their own users as a data source, and those systems are set up for far more games than NWN )

Modifié par painofdungeoneternal, 25 mars 2013 - 11:53 .


#130
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 messages

Baaleos wrote...

If there is a demand for a community launcher - then perhaps the first step should be to actually put together an official list of requirements, and treat it like a real project.
I dont mean to bash anyone about this project- but its been talked to death for months, and I myself am guilty of this - I've said aload of things I consider would be great additions, but never released anything - because everyone wants it in a universal language like ruby etc

Do we have a centralized list of features or requirements for the launcher?


I think i have most of those requested features in my project already, most of them working or close to being working. ( latest screen shots in the last post )

I am not using Ruby, however I do support Mac and PC, and probably will support linux eventually as well. I am working out an API so anyone can have access to the same data as i am using.

I don't see what i am doing as that urgent since NWNCX was released, which solves the ingame listing issue, and see the need to keep both my app and any third party content ( like NWNCX, CEP, PRC, Project Q ) completely up to date, and handling version checking. I also do not want to create a perception that I am doing a MP only tool, and working on feature parity for SP users in joining modules, and for authors in tools for their content, and for the NWN1 features to match the NWN2 features.

My main goal is to make playing, using custom content, playing a module, hosting a MP game, as easy as hitting "play" yet also at the same time following best practices so that guy setting up a DM'd lan game has a hosting configuration as good as an experienced PW admin. ( even then i am concerned about setting up their router, and might be able to open ports via UPNP being turned on )

I am probably going to release a beta to select users in another week, and based on feedback release entirely after that, or revise things to fix any issues found. After that, i will be periodically adding new features and bug fixes and using my app's autoupdate to ensure everyone has the latest and most bug free version.

Modifié par painofdungeoneternal, 26 mars 2013 - 12:17 .


#131
Lazarus Magni

Lazarus Magni
  • Members
  • 1 134 messages

painofdungeoneternal wrote...


Have you tried sending a PM to Selene Moonsong, and asking her to sticky a thread or two which you've prepared, then commit to maintaining such thread ( which you obviously are already doing ). She is not a bioware employee, but is among those who can sticky and unsticky threads.


Done.

#132
Urk

Urk
  • Members
  • 232 messages

painofdungeoneternal wrote...

Baaleos wrote...

If there is a demand for a community launcher - then perhaps the first step should be to actually put together an official list of requirements, and treat it like a real project.
I dont mean to bash anyone about this project- but its been talked to death for months, and I myself am guilty of this - I've said aload of things I consider would be great additions, but never released anything - because everyone wants it in a universal language like ruby etc

Do we have a centralized list of features or requirements for the launcher?


I think i have most of those requested features in my project already, most of them working or close to being working. ( latest screen shots in the last post )

I am not using Ruby, however I do support Mac and PC, and probably will support linux eventually as well. I am working out an API so anyone can have access to the same data as i am using.

I don't see what i am doing as that urgent since NWNCX was released, which solves the ingame listing issue, and see the need to keep both my app and any third party content ( like NWNCX, CEP, PRC, Project Q ) completely up to date, and handling version checking. I also do not want to create a perception that I am doing a MP only tool, and working on feature parity for SP users in joining modules, and for authors in tools for their content, and for the NWN1 features to match the NWN2 features.

My main goal is to make playing, using custom content, playing a module, hosting a MP game, as easy as hitting "play" yet also at the same time following best practices so that guy setting up a DM'd lan game has a hosting configuration as good as an experienced PW admin. ( even then i am concerned about setting up their router, and might be able to open ports via UPNP being turned on )

I am probably going to release a beta to select users in another week, and based on feedback release entirely after that, or revise things to fix any issues found. After that, i will be periodically adding new features and bug fixes and using my app's autoupdate to ensure everyone has the latest and most bug free version.


Just FYI I love the MP launcher idea. IMO it's the best idea yet for a working solution to the gamespy issue. I like that it's independent of the game and all of the special features you are adding are AWESOME. 

I especially love the Mac support. We really need to pressure GoG into releasing the MaC versions of NWN. 

I do still fear the centralization of the list server. If Skywings tracker goes down, the whole system crumbles. 

Modifié par Urk, 26 mars 2013 - 06:36 .


#133
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 messages

Urk wrote...
I do still fear the centralization of the list server. If Skywings tracker goes down, the whole system crumbles. 


True, but skywing is pretty reliable. The root issues is that is how gamespy is designed, nothing we really can do about it. The closest we can do is mirror the data, which is possible since it's open. His API however specializes in this, and he's already dealing with a lot of details I am sure no one else even knows about. I am sure if you discuss it with him, he could even discuss a means of mirroring, or show why it's a non issue, and show you the source code thereof, as he's always worked with the community and shown integrity and reliablity.

The issue is that everyone's project has to have a data source that is dynamic, and it basically has to be structured similar to gamespy which is centralized. Now if we all have different lists, it's impossible to make them accurate and we would be competing on who has the most accurate list. If we all have the same list, then we can ALL work towards making them accurate, and likewise we all don't have to reinvent the wheel and can instead compete on who can deliver that data best to the player. ( and i mean friendly competition to deliver a better product )

My thought is that we all should specialize on our own area of expertise, and cooperate with whoever seems like they have the best solution. The community is stronger when we work together and don't do each thing on our own. This is kind of the problem which is solved by mashups, it allows you to grab good parts from other services ( via a secure and open API ), and lets your app have features of facebook, twitter, google search for example - i don't think i can make a better search engine than google, nor would i want to, nor do i want to learn how to do matchmaking, even though I want to get such features into my app ( and increase the likelyhood of such matchmaking ).

Further we should embrace and support what is working, and presume it's being reliably run, but likewise plan for when it might go down. To me this is just a list of PW's, so I can deal with it going down and replace it if needed. I plan on supporting the vault as is, until it goes down, but unlike this which is relatively trivial to recreate, the vault ( and Rolo's backup project ) are a bit more worrisome so I am discussing a backup plan with Rolo just in case.

Note that you can use his data dynamically, keep a data of it on your site and periodically mirror it. Likewise you can provide an easy to use interface to updating his data and your data ( the add server function is not working on the one web site that offers that even after providing a workign example, we need such a feature urgently for ease of use reasons ), and cooperate with what he is doing, and set it up so if his does go down, you have a complete copy ( including inactive servers ). But as long as his is up, we should work on making sure his is authoritative and accurate since it's already being used in so many projects.

I actually set up a very rough class, showing how to do the communication, with examples, which I provided to one of the many "competing" systems - i can provide this to you ( i did it at about 2 am and so not really wanting to release it publicly until another php developer vetts it and reviews it for mistakes ). I don't think he's using that to a large degree, but he is communicating new servers and getting ones from the API that weren't submitted to him -- we all should be able to do our own thing, but we need to work together and make sure that the actual list people get via whatever source is complete and accurate.

Basically it is a good idea to talk to skywing and discuss what you are both doing, and how they can relate to each other in a way that benefits everyone. ( communication tends to be a good idea )  Remember I am just a third party myself, another member of the community, and my respect for skywing is based on how much he has done for my PW and the years of advice he has given me - much like what Virusman, Funky, Elven, Zebranky and others which you probably know a lot better since they are more focused on NWN1. Likewise my support is based on self interest, I don't want to spend my time recreating what he has done, and instead want to provide a better interface into using this data ( which is actually a sneaky way to prevent people going to the tech support forums because they have messed up their own installs and install things for them ).

Modifié par painofdungeoneternal, 26 mars 2013 - 09:26 .


#134
virusman

virusman
  • Members
  • 282 messages
Also, as far as I know, Skywing's server implementation is open source, so even if it ever goes down, it's just a matter of time before another server with the same functionality and API appears and all clients will just have to update their configurations.

Modifié par virusman, 26 mars 2013 - 09:28 .


#135
Baaleos

Baaleos
  • Members
  • 1 322 messages
The only way we will get around the vulnerability of a server/page going down is if we invest/create in our own cloud managed server infrastructure.

Which isnt that hard to create.
My PW Content downloader kinda does this - it checks to see if there are any peers that have the content online - and if so - it downloads the content from them instead . (it uses md5 hashes to make sure the file being sent/received is the correct file - to dissuade abuse/viruses)
But in theory- its technically feasible to have the same backend server code on multiple servers - provided by people in the community, and then if one goes down: it just takes the next available.
heck - it could even choose the one that is best ping for the player - if we really wanted to get technical.

That being said - we would still need a list of Servers to be read in by the application, and that would need to come from somewhere.
eg: Central Server location - where the pw downloader/app looks to get the cloud server ips etc
Then it checks each ip to see whether there is a server list at that location that is up to date.

It looks very impressive when laid out as a spider diagram.

                                                       ServerList(Public)                                    ServerList(Public)
ServerList(Public)                        CloudServerList ServerList(Public)
                                            ServerList(Public)                                        ServerList(Public)

Note - the ServerLists are meant to be around the CloudServerList
The CloudServerList redirects the player to the best Public Server list for their location/ip address.
And then the players application will then download the server details from that ServerList instance.
If one of the servers goes down - then the others in the network would be able to accomodate users.

The more participants in the network - the more structurally strong the system becomes.
eg: It would take more servers crashing or going offline to cause downtime for players.

Modifié par Baaleos, 27 mars 2013 - 04:57 .


#136
painofdungeoneternal

painofdungeoneternal
  • Members
  • 1 799 messages
Great idea, remember that the server list is already built and in use, what you are doing is just another idea ( which has it's own point of failure ), which is going to have it's own set of problems ( it still has a central server ) and will require the "ecosystem" of applications and sites using what already exists to re-engineer things. And it's fixing a problem which can be easily dealt with when and if it actually occurs. ( remember that even amazon's cloud systems fail periodically and tend to have really complex issues that cause those failures )

Sometimes the perfect is the enemy of the good. Lets just pick what works and keep moving and not focus on how it should ideally be unless you already have such a system built and paid for. If it proves to have real problems, we can replace it or upgrade it with a more stable system - but we can design that around the real flaws we discover instead of flaws we assume might happen.

#137
SkywingvL

SkywingvL
  • Members
  • 351 messages

virusman wrote...

Also, as far as I know, Skywing's server implementation is open source, so even if it ever goes down, it's just a matter of time before another server with the same functionality and API appears and all clients will just have to update their configurations.


Yes, the tracker logic is all permissively licensed and available here: https://github.com/S.../nwn2dev-public

(I don't have any plans to discontinue the infrastructure that I host, though, just to be clear.)