Author Topic: NWN 1 lives on!  (Read 4632 times)

Legacy_ehye_khandee

  • Hero Member
  • *****
  • Posts: 1415
  • Karma: +0/-0
NWN 1 lives on!
« Reply #45 on: November 14, 2012, 12:46:16 am »


               

Lazarus Magni wrote...

The master server did a bit more than that I believe Shova. It hosted the legacy forums, it required people to create an account with bioware prior to getting on line, it was the repository for registered CD keys, and yes it protected past and present accounts from being compromised. It may have also verified that legitimate CD keys were being used, or at the very least that 1 key was not being used my multiple people at the same time.


IDK that the master server did all that. I have no evidence to say it ran the forum as they went down at different times. True you had to open an account and register keys on the old forum, but that does not mean the forum server was the master server. Likely it shared a database.

 Be well. Game on.
GM_ODA

http://playnwn.com  
               
               

               
            

Legacy_Shadooow

  • Hero Member
  • *****
  • Posts: 7698
  • Karma: +0/-0
NWN 1 lives on!
« Reply #46 on: November 14, 2012, 01:14:45 am »


               now I remember, I was correct, the MS verification worked with account and password, the CDKEY wasn't used to verify players
               
               

               
            

Legacy_HipMaestro

  • Hero Member
  • *****
  • Posts: 2849
  • Karma: +0/-0
NWN 1 lives on!
« Reply #47 on: November 14, 2012, 01:58:17 am »


               

ehye_khandee wrote...

Lazarus Magni wrote...
The master server did a bit more than that I believe Shova. It hosted the legacy forums, it required people to create an account with bioware prior to getting on line, it was the repository for registered CD keys, and yes it protected past and present accounts from being compromised. It may have also verified that legitimate CD keys were being used, or at the very least that 1 key was not being used my multiple people at the same time.


IDK that the master server did all that. I have no evidence to say it ran the forum as they went down at different times.

Neither do I.  But the keys were definitely not linked (read further)...

ehye_khandee wrote...
True you had to open an account and register keys on the old forum, but that does not mean the forum server was the master server. Likely it shared a database.

I can't vouch for whether there had been any peripheral data mining occurring between the MS database and the database populated by forum registry, but I can guarantee that the CD keys were not shared.

The MS used an algorithm to determine whether a CD Key was valid or not to open an account, much like the game installation verification procedure.  The forum registry never did and those that depended on the legacy database to retain their keys would have found little useful help requesting a Bioware-sponsored emailing of them if they erred typing during the data entry when they registered.  Hence, anyone could register whether they actually owned the game or not.  All the registration did was allow an account owner (a Forum acct owner, not an MS account owner) to access the restricted forums.  Nothing more.  But you could easily have typed in any bogus string (I believe they did perform an alphanumeric character count check but nothing more than that) and still registered.

The premium modules used the MS account keys, not the forum acct keys, to establish ownership.

Players did not have to open an account on the Bioware Forum site to create an account and play on-line.

Still, way before the so-called security hacking episode, there were still security issues occurring, whether it was because the MS wasn't verifying properly under all circumstance or not, I have no clue, but many of the servers I used to frequent had even then written their own security verification as part of standard login.  This is not a new problem.
               
               

               


                     Modifié par HipMaestro, 14 novembre 2012 - 02:03 .
                     
                  


            

Legacy_Lightfoot8

  • Hero Member
  • *****
  • Posts: 4797
  • Karma: +0/-0
NWN 1 lives on!
« Reply #48 on: November 14, 2012, 04:09:08 am »


               
Quote
Lazarus Magni wrote...

The core of the issue is the fact that bans are inconsequential. Our players (or any other server's) should not be subject to harassment from some jerk who can whip out a new IP, CD key, and player name faster than I can ban them and restart the server, and neither should our PW (or any other) be vulnerable to said jerks exploiting stuff. With the master server at least it is a financial burden for them to do so (or at the very least o_O a criminal offense), which gives bans much more strength.

[/quote]

Ok, I will pay attention.  

It sounds to me like you need to script a better solution.    

  like a system that will allow your DM's to speak a simple voice command that will toggle the ability of new players joining without approval.   Players that are already established would still be able to log into the server, but players with new accounts/CD keys would have to get approval from a DM to join, or a password given to them from the server staff( from your forums )  in order to validate there account.         
               
               

               
            

Baaleos

  • Administrator
  • Hero Member
  • *****
  • Posts: 1916
  • Karma: +0/-0
NWN 1 lives on!
« Reply #49 on: November 14, 2012, 06:12:47 pm »


               Lazarus raises valid points, granted, they are valid points that have been beaten to death over and over, and then raised via Raise Dead, and then beaten again.

The Master Server's main purpose in my opinion was to ensure that valid legal CDKeys were the only ones used by online players
Now that it is gone - essentially anyone can play without fear of perma bans etc.
If I werent using my ancient CDKeys, I'd probably be using some randomly generated crap.


But you need to ask yourself - what can the would be griefers do that they couldnt have done with the master server around.

1. If they come into your server, you can kick them, and ban their account - which locks their characters.
2. If they come back as another account, you can recognize them by behaviour - the only way you wouldnt recognize them by behaviour, would be if they got the hint, and suddenly started behaving and obeying your rules, dont target a player cause you just dont like them. Target them based on behavior that is contrary to the spirit of your PW Server. Adhere to the rules = enjoy, Dont Adhere to the rules = Ban


As mentioned above - there are numerous NWNX plugins available, many of which allow you to do things that can validate incoming players, and make sure they are in an 'allowed list'.
Granted- limiting players to just forum users can limit the player base - but thats the trade off all systems pay, when they provide hightened security.

As far as the whole Master Server thing goes
I realise it is abit annoying - having to wait for 6-8 seconds to get past the authentication phase due to the offline server.

I use the following C# Solution everytime I start NWN.

Essentially - just write this 0x84, 0xF2, 0x06
to here :  0x004D4AF7

Note - these memory addresses are the ones used by NWNCX  - So you could use that too, if you werent techno savvi.

try
            {
                Memory m = new Memory("nwmain"); // <- A custom wrapper class.
                if (m.ProcessLoaded)
                {
                    IntPtr i = m.ProcessHeld.Handle;
                    IntPtr i2 = new IntPtr((uint)m.ProcessHeld.MainWindowHandle + 0x004D4AF7);
                    byte[] b = { 0x84, 0xF2, 0x06 };
                    m.WriteByteArray(m.ProcessHeld.Handle, i2, b);
                }
                m = null;
            }
            catch (Exception eA)
            {

            }

Yes - I realise what people are saying - they bought NWN, therefore they feel like they deserve office bioware support for the game.

World doesnt work like that.
NWN is litterally a few kicks away from being abandonware - the community might as well own it.
Bioware certainly isnt gonna bring back the Master Server -
the cost of maintaining, and building/creating it - vs the benefits it provideds = Not worth it.
               
               

               
            

Legacy_Mr. Versipellis

  • Full Member
  • ***
  • Posts: 236
  • Karma: +0/-0
NWN 1 lives on!
« Reply #50 on: November 14, 2012, 06:22:54 pm »


               NWN 1 won't "die" so long as there's still an interested and active community. It's unreasonable to expect a master server to be maintained for more than a decade in the current gaming climate. To be honest, it's been such a niche game for so long that the ability to find public games quickly and easily hasn't been an issue for years - most people either aren't interested the game or are keen enough to work things out for themselves without the help of the MS.
               
               

               
            

Legacy_PlasmaJohn

  • Full Member
  • ***
  • Posts: 150
  • Karma: +0/-0
NWN 1 lives on!
« Reply #51 on: November 14, 2012, 07:40:34 pm »


               

Mr. Versipellis wrote...

... To be honest, it's been such a niche game for so long that the ability to find public games quickly and easily hasn't been an issue for years - most people either aren't interested the game or are keen enough to work things out for themselves without the help of the MS.

It hasn't been an issue because the built in GameSpy server browser still works (kinda).  GameSpy has nothing to do with NWN account authentication and the Master Server did nothing for server browsing.

Re: topic change

Enough of "the sky is falling!" topic titles, you're just trolling now.

Most people have accepted the fact that the partnership between Bioware, Atari and Hasbro that made NWN
possible no longer exists.  No partnership means no commercial support.  We are left to make do with what we have and most of us have figured out how to cope.  And until something else comes along that matches NWN's modability, we'll still keep chugging along.
               
               

               
            

Legacy_Lazarus Magni

  • Hero Member
  • *****
  • Posts: 1837
  • Karma: +0/-0
NWN 1 lives on!
« Reply #52 on: November 14, 2012, 07:55:25 pm »


               I didn’t change the title of this topic to claim the sky is falling. It already fell, and the community is the only thing still holding it up. I changed it to be less confrontational to Bioware.

I have been pleased to see some good ideas put forth here which address some of my concerns.
               
               

               
            

Legacy_OldTimeRadio

  • Hero Member
  • *****
  • Posts: 2307
  • Karma: +0/-0
NWN 1 lives on!
« Reply #53 on: November 14, 2012, 08:49:10 pm »


               I just wanted to pop in and thank Baaleos for his post'<img'>
               
               

               
            

Legacy_NWN_baba yaga

  • Hero Member
  • *****
  • Posts: 1944
  • Karma: +0/-0
NWN 1 lives on!
« Reply #54 on: November 14, 2012, 09:15:55 pm »


               i thought this is a new thread? forget it, long live NWN...':wizard:'
               
               

               


                     Modifié par NWN_baba yaga, 14 novembre 2012 - 09:35 .
                     
                  


            

Legacy_SHOVA

  • Hero Member
  • *****
  • Posts: 893
  • Karma: +0/-0
NWN 1 lives on!
« Reply #55 on: November 14, 2012, 10:01:57 pm »


               Yes, official support it finished. Yes, there will be no other patches, premium mods, or even sequels. It is now up to, and dependent completely on the community to make NWN worth playing. The funny thing is, it always has been up to the community to keep things going. Nothing has really changed.

I get that Laz is frustrated about dealing with problem players, and has a hard time figuring out how to use what the community has offered as a solution. Scripting can be very painful for those that don't know what they are doing. However, continued posting, re-posting, and even topic name changing about the Death of NWN, that Bio is trying to kill NWN, or what ever else doom and gloom, titles that keep popping up do not do anything for the community, NWN, or with how the poster of that garbage is perceived by this community.

If NWN is not the best platform for you to build with, there are others available. If you don't like how Bio ended support, or Atari, or WotC, there are other games out there for you to try. Most of the people here have been here since the beginning. We have heard the sky is falling for the release of NWN2, the Atari buyout, the EA buy out, and the 100 other or so reasons that have come and gone. Its been done to death, and we are still here. Most of us will still be here after you have moved on, still playing and building in NWN. You are not going to change our minds on how we view this game. Your not going to get sympathy either. There are solutions for what is causing your frustration. There are community members willing to hold your hand, walk you through installing them, and even help you tweak the scripting to work best for you. Its on you if you choose to not ask for the help. If all your gonna do is whine about it, then the answer your going to get, is too bad. Here is a hankie, and here is a link to the scripting forum. http://social.biowar...egory/192/index
               
               

               
            

Legacy_henesua

  • Hero Member
  • *****
  • Posts: 6519
  • Karma: +0/-0
NWN 1 lives on!
« Reply #56 on: November 14, 2012, 10:41:05 pm »


               Since I have small children, this is what pops into my head at these times.
               
               

               
            

Baaleos

  • Administrator
  • Hero Member
  • *****
  • Posts: 1916
  • Karma: +0/-0
NWN 1 lives on!
« Reply #57 on: November 14, 2012, 10:55:23 pm »


               @OldTimeRadio

Here is a more complete solution.
This static class - just call SetupBypassMServer();
And also have the Memory class in the same namespace.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Management;

namespace RhunDownloader
{
    public static class NWNGame
    {
        public static void SetupBypassMServer()
        {

            ManagementEven****cher star****ch = new ManagementEven****cher(
              new WqlEventQuery("SELECT * FROM Win32_ProcessStartTrace where ProcessName like '%nwmain%'"));
            star****ch.EventArrived += new EventArrivedEventHandler(star****ch_EventArrived);
            star****ch.Start();
            ManagementEven****cher stopWatch = new ManagementEven****cher(
              new WqlEventQuery("SELECT * FROM Win32_ProcessStopTrace where ProcessName like '%nwmain%'"));
            stopWatch.EventArrived += new EventArrivedEventHandler(stopWatch_EventArrived);
            stopWatch.Start();
            //Console.WriteLine("Press ENTER to exit");
            //Console.ReadLine();
            //star****ch.Stop();
            //stopWatch.Stop();


        }
        static void stopWatch_EventArrived(object sender, EventArrivedEventArgs e)
        {
            //Console.WriteLine("Process stopped: {0}", e.NewEvent.Properties["ProcessName"].Value);
        }

        static void star****ch_EventArrived(object sender, EventArrivedEventArgs e)
        {
            //Console.WriteLine("Process started: {0}", e.NewEvent.Properties["ProcessName"].Value);
            //NWN Detected:
            Memory m = new Memory("nwmain");
            if (m.ProcessLoaded)
            {
                IntPtr i = m.ProcessHeld.Handle;
                IntPtr i2 = new IntPtr((uint)m.ProcessHeld.MainWindowHandle + 0x004D4AF7);
                byte[] b = { 0x84, 0xF2, 0x06 };
                m.WriteByteArray(m.ProcessHeld.Handle, i2, b);
            }
            m = null;
        }

    }
}


Memory class  (memory.cs)

I made this memory class specifically for editing game/application memory.
Should be memory safe.
Note - The way the above class works - is that it subscribes to windows, and waits until nwmain.exe starts up.
When it does, it automatically does the memory edits for you.

using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using System.Diagnostics;

namespace RhunDownloader
{
    public class Memory : IDisposable
    {
        [DllImport("kernel32.dll")]
        static extern IntPtr OpenProcess(UInt32 dwDesiredAccess, Boolean bInheritHandle, UInt32 dwProcessId);
        [DllImport("kernel32.dll")]
        static extern bool ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress,
        byte[] lpBuffer, UIntPtr nSize, uint lpNumberOfBytesWritten);

        [DllImport("kernel32.dll", SetLastError = true)]
        static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, uint nSize, out UIntPtr lpNumberOfBytesWritten);


        public IntPtr Handle;
        public Process ProcessHeld = null;
        public Memory(string sprocess)
        {
            Process[] Processes = Process.GetProcessesByName(sprocess);
            Process nProcess = Processes[0];

            Handle = OpenProcess(0x10, false, (uint)nProcess.Id);
            if (Handle != IntPtr.Zero)
            {
                ProcessLoaded = true;
                ProcessHeld = nProcess;
            }
            else
            {
                ProcessLoaded = false;
            }
        }
        public void Dispose()
        {
            Dispose(true);
            GC.SuppressFinalize(this);
        }

        protected virtual void Dispose(bool disposing)
        {
            if (disposing)
            {
                // Free other state (managed objects).

            }
            // Free your own state (unmanaged objects).
            // Set large fields to null.
        }

        // Use C# destructor syntax for finalization code.

        ~Memory()
        {
            Dispose(false);
        }



        //Would use this method below - for the actual writing of the Disable Patch Code
        public UIntPtr WriteByteArray(IntPtr hProcess, IntPtr BaseAddress, byte[] NewVal)
        {
            try
            {
                // Return Value
                bool ReturnVal;
                UIntPtr BytesWritten;
                // Write Memory Byte Array
                ReturnVal = WriteProcessMemory(hProcess, BaseAddress, NewVal, (uint)NewVal.Length, out BytesWritten);

                return BytesWritten;
            }
            catch (Exception e)
            {
                System.Windows.Forms.MessageBox.Show(e.ToString());
                return (UIntPtr)0x0;
            }
        }


        public bool ProcessLoaded = false;

        public string ReadString(uint pointer)
        {
            byte[] bytes = new byte[24];

            ReadProcessMemory(Handle, (IntPtr)pointer, bytes, (UIntPtr)24, 0);
            return Encoding.UTF8.GetString(bytes);
        }

        public int ReadOffset(uint pointer, uint offset)
        {
            byte[] bytes = new byte[24];

            uint adress = (uint)ReadPointer(pointer) + offset;
            ReadProcessMemory(Handle, (IntPtr)adress, bytes, (UIntPtr)sizeof(int), 0);
            return BitConverter.ToInt32(bytes, 0);
        }

        public int ReadPointer(uint pointer)
        {
            byte[] bytes = new byte[24];

            ReadProcessMemory(Handle, (IntPtr)pointer, bytes, (UIntPtr)sizeof(int), 0);
            return BitConverter.ToInt32(bytes, 0);
        }

    }

}

               
               

               
            

Legacy_The Amethyst Dragon

  • Hero Member
  • *****
  • Posts: 2981
  • Karma: +0/-0
NWN 1 lives on!
« Reply #58 on: November 14, 2012, 11:05:53 pm »


               *sigh*

If NWN were dead, I wouldn't be visiting these forums, making new content, or running the same PW that I've had online for more than six years.  As long as there are players and builders, NWN will live.

Are we averaging once per six months now for a "NWN is dead" thread?  It used to be every 9-12 months, right?
               
               

               


                     Modifié par The Amethyst Dragon, 14 novembre 2012 - 11:06 .
                     
                  


            

Legacy_Fester Pot

  • Hero Member
  • *****
  • Posts: 1698
  • Karma: +0/-0
NWN 1 lives on!
« Reply #59 on: November 14, 2012, 11:51:50 pm »


               The inevitable is coming!
The future belongs to you!
The state of the community!
How many years left?
The death of NWN 1?
The death of NWN???!!!!
The future of NWN 1.
Is NWN dead?

FP!
               
               

               


                     Modifié par Fester Pot, 14 novembre 2012 - 11:53 .