 |   |  |  |
| Warcraft Editing Tools Discuss third party tools. Explore tool usage; get help using a tool, or search for a needed one. |
 |
|
06-25-2008, 03:53 AM
|
#16 (permalink)
|
Spell and Map Moderator
The Helpful Personage
Join Date: Jan 2005
Posts: 4,415
|
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.
|
|
|
06-25-2008, 11:26 AM
|
#17 (permalink)
|
För Sverige i tiden
Join Date: Jun 2007
Posts: 79
|
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.
|
|
|
06-25-2008, 09:19 PM
|
#18 (permalink)
|
För Sverige i tiden
Join Date: Jun 2007
Posts: 79
|
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.
|
|
|
06-26-2008, 04:07 PM
|
#19 (permalink)
|
4 to go
Join Date: Mar 2008
Posts: 185
|
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
|
|
|
06-26-2008, 05:28 PM
|
#20 (permalink)
|
För Sverige i tiden
Join Date: Jun 2007
Posts: 79
|
Quote:
|
and b) i don't know what to extract .rar files
|
that's just sad...
|
|
|
06-26-2008, 05:34 PM
|
#21 (permalink)
|
4 to go
Join Date: Mar 2008
Posts: 185
|
Quote:
Originally Posted by Risc
that's just sad...
|
lol. i don't think i have the right program
|
|
|
06-29-2008, 04:50 PM
|
#22 (permalink)
|
User
Join Date: Jun 2008
Posts: 18
|
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
|
|
|
06-29-2008, 07:17 PM
|
#23 (permalink)
|
För Sverige i tiden
Join Date: Jun 2007
Posts: 79
|
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.
|
|
|
06-29-2008, 07:18 PM
|
#24 (permalink)
|
4 to go
Join Date: Mar 2008
Posts: 185
|
does anyone know what my problem with hosting is and how to sort it.
i could host before this occured
|
|
|
06-29-2008, 10:24 PM
|
#25 (permalink)
|
User
Join Date: Jun 2008
Posts: 18
|
slawter, have you tried systemrecovery?
and, basically, reinstalling warcraft3 should be enough.
You will just have to backup your stuff....
MfG chemderrick
|
|
|
06-30-2008, 04:41 AM
|
#26 (permalink)
|
Mr.Sexy@useast
Join Date: Jan 2007
Posts: 578
|
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?
|
|
|
06-30-2008, 12:16 PM
|
#27 (permalink)
|
User
Join Date: Jun 2008
Posts: 18
|
Yeah Risc,
how about adding required DLLs / writing the requirements?
You could also upload the source...I would like to read it.
MfG chemderrick
|
|
|
06-30-2008, 01:26 PM
|
#28 (permalink)
|
För Sverige i tiden
Join Date: Jun 2007
Posts: 79
|
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();
}
}
}
}
|
|
|
07-02-2008, 06:11 PM
|
#29 (permalink)
|
User
Join Date: Jun 2008
Posts: 4
|
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
|
|
|
07-02-2008, 08:22 PM
|
#30 (permalink)
|
User
Join Date: Jun 2008
Posts: 18
|
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
|
|
|
| Thread Tools |
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|  |  |  |  |   |  |
|