(Keeps Hive Alive)
Go Back   The Hive Workshop - A Warcraft III Modding Site > Warcraft III Modding > Warcraft Editing Tools

Warcraft Editing Tools Discuss third party tools. Explore tool usage; get help using a tool, or search for a needed one.

Reply
 
LinkBack Thread Tools Display Modes
Old 06-25-2008, 03:53 AM   #16 (permalink)
Spell and Map Moderator
 
Dr Super Good's Avatar

The Helpful Personage
 
Join Date: Jan 2005
Posts: 4,415

Dr Super Good is a name known to all (648)Dr Super Good is a name known to all (648)


The fact is ingame it should not really matter as nothing goes through the servers anyway next to /w and such things. Thus the more logical questio nis why is there a forced delay when there is no need?.

You may find it has something to do with sync or something to prevent the host having unfair advantage over people far away.
Dr Super Good is offline   Reply With Quote
Old 06-25-2008, 11:26 AM   #17 (permalink)
 
Risc's Avatar

För Sverige i tiden
 
Join Date: Jun 2007
Posts: 79

Risc has little to show at this moment (33)Risc has little to show at this moment (33)Risc has little to show at this moment (33)Risc has little to show at this moment (33)


Yes it isn't the battle.net server that causes the "fixed" lag. It's the client itself. There is a program called "DotaClient" that allows you to override this setting.
Risc is offline   Reply With Quote
Old 06-25-2008, 09:19 PM   #18 (permalink)
 
Risc's Avatar

För Sverige i tiden
 
Join Date: Jun 2007
Posts: 79

Risc has little to show at this moment (33)Risc has little to show at this moment (33)Risc has little to show at this moment (33)Risc has little to show at this moment (33)


I've created a 'proof-of-concept' program which allows you to change the default 250ms hosting latency.. Attached below.
Edit: The program doesn't need to run after you've changed the latency, you can close it once it's done.
Attached Files
File Type: rar DelayReducer.rar (3.1 KB, 33 views)
Risc is offline   Reply With Quote
Old 06-26-2008, 04:07 PM   #19 (permalink)
 
slawter's Avatar

4 to go
 
Join Date: Mar 2008
Posts: 185

slawter has little to show at this moment (6)


thanks risc but
a) my hosting has messed up... when i try to host a game it says
Quote:
Originally Posted by my messed up wc3 =(
file name invalid or too many characters
or something like that

and b) i don't know what to extract .rar files
slawter is offline   Reply With Quote
Old 06-26-2008, 05:28 PM   #20 (permalink)
 
Risc's Avatar

För Sverige i tiden
 
Join Date: Jun 2007
Posts: 79

Risc has little to show at this moment (33)Risc has little to show at this moment (33)Risc has little to show at this moment (33)Risc has little to show at this moment (33)


Quote:
and b) i don't know what to extract .rar files
that's just sad...
Risc is offline   Reply With Quote
Old 06-26-2008, 05:34 PM   #21 (permalink)
 
slawter's Avatar

4 to go
 
Join Date: Mar 2008
Posts: 185

slawter has little to show at this moment (6)


Quote:
Originally Posted by Risc View Post
that's just sad...
lol. i don't think i have the right program
slawter is offline   Reply With Quote
Old 06-29-2008, 04:50 PM   #22 (permalink)
 
chemicalderrick's Avatar

User
 
Join Date: Jun 2008
Posts: 18

chemicalderrick is an unknown quantity at this point (0)


U need winrar or something which will extract
rar-archives. 7-zip is freeware and will do that for you:
http://www.7-zip.org/
Alright, back2thread:
The client will automatically increase delay or, if u want it that way, pings
to 300ms if they are lower.
If you host the game over LAN it will increase delay/ping too, but only to 100ms.
So, if you use ListChecker (and it isnt illegal as long as you use your own CD-Key for it) it will connect to Battle.NET and register your game there.
It will hold the connection to battle.net only to refresh your game in the list.
When the game is started, the connection will be dropped, so it now is running fully without BNet´s help. And because you used the menupoint "Local Network"
Wc3 (THE CLIENT) will treat the game like a LAN-game.
And thats, how delay is reduced. It will not reduces lags, but the delay, so
the units will react to your inputs earlier.

I hope I removed all doubts.

MfG chemderrick
chemicalderrick is offline   Reply With Quote
Old 06-29-2008, 07:17 PM   #23 (permalink)
 
Risc's Avatar

För Sverige i tiden
 
Join Date: Jun 2007
Posts: 79

Risc has little to show at this moment (33)Risc has little to show at this moment (33)Risc has little to show at this moment (33)Risc has little to show at this moment (33)


With my tool you don't need pickuplist since you can specify exactly which hosting latency your want (even on battle.net), though I wouldn't recommend 0 ms since that would probably cause desyncs.
Risc is offline   Reply With Quote
Old 06-29-2008, 07:18 PM   #24 (permalink)
 
slawter's Avatar

4 to go
 
Join Date: Mar 2008
Posts: 185

slawter has little to show at this moment (6)


does anyone know what my problem with hosting is and how to sort it.
i could host before this occured
slawter is offline   Reply With Quote
Old 06-29-2008, 10:24 PM   #25 (permalink)
 
chemicalderrick's Avatar

User
 
Join Date: Jun 2008
Posts: 18

chemicalderrick is an unknown quantity at this point (0)


slawter, have you tried systemrecovery?
and, basically, reinstalling warcraft3 should be enough.
You will just have to backup your stuff....

MfG chemderrick
chemicalderrick is offline   Reply With Quote
Old 06-30-2008, 04:41 AM   #26 (permalink)
 
Bloody_Turds's Avatar

Mr.Sexy@useast
 
Join Date: Jan 2007
Posts: 578

Bloody_Turds is on a distinguished road (61)Bloody_Turds is on a distinguished road (61)


it says:
The application failed to run initialize properly (0xc0000135) click ok to terminate

Am i missing a plugin or sumthin?
btw you just run this program once and it sets the delay everytime u restart wc3?
__________________
http://www.mapmakersunited.co.cc/
Mimicry is an allusion of Stupidity
Bloody_Turds is offline   Reply With Quote
Old 06-30-2008, 12:16 PM   #27 (permalink)
 
chemicalderrick's Avatar

User
 
Join Date: Jun 2008
Posts: 18

chemicalderrick is an unknown quantity at this point (0)


Yeah Risc,
how about adding required DLLs / writing the requirements?
You could also upload the source...I would like to read it.

MfG chemderrick
chemicalderrick is offline   Reply With Quote
Old 06-30-2008, 01:26 PM   #28 (permalink)
 
Risc's Avatar

För Sverige i tiden
 
Join Date: Jun 2007
Posts: 79

Risc has little to show at this moment (33)Risc has little to show at this moment (33)Risc has little to show at this moment (33)Risc has little to show at this moment (33)


You'll need .NET Framework 2.

EDIT: Here's the source:
Code:
//delayReducer
//Proof-of-concept hosting latency editor
//Copyright (c) 2008, E.Sandberg (Risc)
//Released under the GPL (http://www.gnu.org/licenses/gpl.txt)

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

namespace DelayReducerConsole
{
    class Program
    {
        private const int PROCESS_ALL_ACCESS = 0x1F0FFF;
        #region Win32Imports
        [DllImport("kernel32.dll")]
        private static extern int ReadProcessMemory(int hProcess, int lpBaseAddress, out int lpBuffer, int nSize, 

int lpNumberOfBytesWritten);
        [DllImport("kernel32.dll")]
        private static extern int WriteProcessMemory(int hProcess, int lpBaseAddress, byte[] lpBuffer, int nSize, 

ref int lpNumberOfBytesWritten);
        [DllImport("kernel32.dll")]
        private static extern int OpenProcess(int dwDesiredAccess, int bInheritHandle, int dwProcessId);
        [StructLayout(LayoutKind.Sequential)]
        private struct LUID
        {
            internal int LowPart;
            internal int HighPart;
        }
        private const int ANYSIZE_ARRAY = 1;
        [StructLayout(LayoutKind.Sequential)]
        private struct LUID_AND_ATTRIBUTES
        {
            internal LUID pLuid;
            internal int Attributes;
        }
        struct TOKEN_PRIVILEGES
        {
            public int PrivilegeCount;
            public LUID TheLuid;
            public int Attributes;
        }
        [DllImport("advapi32.dll")]
        private static extern int OpenProcessToken(int ProcessHandle, int DesiredAccess, ref int TokenHandle);
        [DllImport("advapi32.dll", EntryPoint = "LookupPrivilegeValueA")]
        private static extern int LookupPrivilegeValue(string lpSystemName, string lpName, ref LUID lpLuid);
        [DllImport("advapi32.dll")]
        private static extern int AdjustTokenPrivileges(int TokenHandle, int DisableAllPrivileges, ref 

TOKEN_PRIVILEGES NewState, int BufferLength, int PreviousState, int ReturnLength);
        [DllImport("kernel32.dll")]
        private static extern int CloseHandle(int hObject);
        private const int TOKEN_ADJUST_PRIVILEGES = 0x20;
        private const int TOKEN_QUERY = 0x8;
        private const int SE_PRIVILEGE_ENABLED = 0x2;
        private const string SE_DEBUG_Name = "SeDebugPrivilege";
        #endregion

        static void Main(string[] args)
        {
            Console.WriteLine("DelayReducer 'proof-of-concept' by Risc (2008)");
            Console.WriteLine("Searching for Wc3 process...");
            Process[] pids = Process.GetProcessesByName("war3");
            int proc;
            int hToken = 0;
            LUID sedebugNameValue = new LUID();
            TOKEN_PRIVILEGES tkp = new TOKEN_PRIVILEGES();
            OpenProcessToken(Process.GetCurrentProcess().Handle.ToInt32(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, 

ref hToken);
            LookupPrivilegeValue(null, SE_DEBUG_Name, ref sedebugNameValue);
            tkp.PrivilegeCount = 1;
            tkp.TheLuid = sedebugNameValue;
            tkp.Attributes = SE_PRIVILEGE_ENABLED;
            AdjustTokenPrivileges(hToken, 0, ref tkp, Marshal.SizeOf(tkp), 0, 0);
            CloseHandle(hToken);

            Int32 delay;
            int newdelay = 0;
            int byteswritten = 0;

            if (pids.Length > 0)
            {
                Console.WriteLine("Found process.");
                proc = OpenProcess(PROCESS_ALL_ACCESS, 0, pids[0].Id);
                ReadProcessMemory(proc, 0x6F6E5271, out delay, 4, 0);
                Console.WriteLine("Current hosting latency is " + delay.ToString() + " ms");
                Console.Write("Set latency to: ");
                try
                {
                    newdelay = int.Parse(Console.ReadLine());
                    WriteProcessMemory(proc, 0x6F6E5271, BitConverter.GetBytes(newdelay), 4, ref byteswritten);
                    ReadProcessMemory(proc, 0x6F6E5271, out delay, 4, 0);
                    if (delay == newdelay)
                    {
                        Console.WriteLine("Successfully set latency to " + delay.ToString() + " ms.");
                        Console.WriteLine("Press any key to quit.");
                        Console.ReadKey();
                    }
                    else
                    {
                        Console.WriteLine("FAILED to set latency to " + delay.ToString() + " ms.");
                        Console.WriteLine("Press any key to quit.");
                        Console.ReadKey();
                    }
                }
                catch
                {
                    Console.WriteLine("God... OF COURSE you can only enter numbers without decimals!");
                    Console.WriteLine("Quitting...\n\nTry again, press any key to quit.");
                    Console.ReadKey();
                }
            }
            else
            {
                Console.WriteLine("Can't find Wc3 process.. Make sure it's running first!\n\nTry again, press any 

key to quit.");
                Console.ReadKey();
            }
        }
    }
}
Risc is offline   Reply With Quote
Old 07-02-2008, 06:11 PM   #29 (permalink)

User
 
Join Date: Jun 2008
Posts: 4

Narwhol is an unknown quantity at this point (0)


VCK (Visual Custom Kick) can reduce latency too, and it also has several other useful features (Refresher, start without count, etc.). It's the only hosting tool I use, because it does everything I need it to.
EDIT: link
Narwhol is offline   Reply With Quote
Old 07-02-2008, 08:22 PM   #30 (permalink)
 
chemicalderrick's Avatar

User
 
Join Date: Jun 2008
Posts: 18

chemicalderrick is an unknown quantity at this point (0)


Narwhol, thank you for the link,
but I think we should help slawter solving his problem.
I will test the tool as soon as possible and I will try to help you.
Until then, someone should look for semantical mistakes in the source.

MfG chemderrick
chemicalderrick is offline   Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Special effect destruction delay Waldbaer Modeling & Animation 0 11-20-2007 01:14 AM
Reducing delay? Arohk Warcraft Discussion 3 11-16-2007 04:41 PM
Delay Issues map-maker Map Development 0 03-18-2006 02:29 PM
Pause.. Delay.. Unpause.. hadezOwn Map Development 2 08-30-2005 11:18 PM
Campaign Quest Delay Vampyluring Map Development 0 11-15-2004 10:41 PM

All times are GMT. The time now is 09:45 PM.






Your link here 
Debt Help | Facebook proxy list | Loans | Online Mall | Credit Cards
Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Copyright©Ralle