|
|
|
<!-- Creator : groff version 1.22.3 -->
|
|
|
|
<!-- CreationDate: Thu Jan 19 21:29:26 2017 -->
|
|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
|
|
"http://www.w3.org/TR/html4/loose.dtd">
|
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<meta name="generator" content="groff -Thtml, see www.gnu.org">
|
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
|
|
|
<meta name="Content-Style" content="text/css">
|
|
|
|
<style type="text/css">
|
|
|
|
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
|
|
|
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
|
|
|
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
|
|
|
h1 { text-align: center }
|
|
|
|
</style>
|
|
|
|
<title>VLMCSD.INI</title>
|
|
|
|
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
|
|
|
|
<h1 align="center">VLMCSD.INI</h1>
|
|
|
|
|
|
|
|
<a href="#NAME">NAME</a><br>
|
|
|
|
<a href="#SYNOPSIS">SYNOPSIS</a><br>
|
|
|
|
<a href="#DESCRIPTION">DESCRIPTION</a><br>
|
|
|
|
<a href="#SYNTAX">SYNTAX</a><br>
|
|
|
|
<a href="#KEYWORDS">KEYWORDS</a><br>
|
|
|
|
<a href="#VALID EPIDS">VALID EPIDS</a><br>
|
|
|
|
<a href="#FILES">FILES</a><br>
|
|
|
|
<a href="#AUTHOR">AUTHOR</a><br>
|
|
|
|
<a href="#CREDITS">CREDITS</a><br>
|
|
|
|
<a href="#SEE ALSO">SEE ALSO</a><br>
|
|
|
|
|
|
|
|
<hr>
|
|
|
|
|
|
|
|
|
|
|
|
<h2>NAME
|
|
|
|
<a name="NAME"></a>
|
|
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><b>vlmcsd.ini</b>
|
|
|
|
- vlmcsd KMS emulator configuration file</p>
|
|
|
|
|
|
|
|
<h2>SYNOPSIS
|
|
|
|
<a name="SYNOPSIS"></a>
|
|
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><b>vlmcsd.ini</b></p>
|
|
|
|
|
|
|
|
<h2>DESCRIPTION
|
|
|
|
<a name="DESCRIPTION"></a>
|
|
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><b>vlmcsd.ini</b>
|
|
|
|
(or simply called the "ini file") is a
|
|
|
|
configuration file for <b>vlmcsd</b>(8). By default vlmcsd
|
|
|
|
does not use a configuration file. It is completely optional
|
|
|
|
and for advanced users only. You must use the <b>-i</b>
|
|
|
|
option on the vlmcsd command line to use an ini file. There
|
|
|
|
is no default name or default location for the ini file.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">Everything,
|
|
|
|
that can be configured in the ini file, may also be
|
|
|
|
specified on the command line. Any configuration option
|
|
|
|
specified on the command line takes precedence over the
|
|
|
|
respective configuration line in the ini file.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><b>Benefits of
|
|
|
|
a configuration file</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">While you can
|
|
|
|
use the configuration file to simply modify the default
|
|
|
|
behavior of vlmcsd, it can also be used to change the
|
|
|
|
configuration of vlmcsd after you sent a HUP
|
|
|
|
<b>signal</b>(7). Whenever you send SIGHUP, the
|
|
|
|
configuration file will be re-read. Any changes you made to
|
|
|
|
the ini file will be reflected after vlmcsd received the
|
|
|
|
hangup signal.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><b>Differences
|
|
|
|
between command line and configuration file</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">If you specify
|
|
|
|
an illegal option or option argument on the command line,
|
|
|
|
vlmcsd displays help and exits. If you specify an incorrect
|
|
|
|
<i>keyword</i> or <i>argument</i> in the ini file, vlmcsd
|
|
|
|
displays a warning with some information, ignores the
|
|
|
|
respective line and continues. This is intentional and
|
|
|
|
prevents vlmcsd from aborting after a SIGHUP if the
|
|
|
|
configuration was modified incorrectly.</p>
|
|
|
|
|
|
|
|
<h2>SYNTAX
|
|
|
|
<a name="SYNTAX"></a>
|
|
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">vlmcsd.ini is a
|
|
|
|
UTF-8 encoded text file with each line being in the format
|
|
|
|
<i>keyword</i> = <i>argument</i>. The <i>keyword</i> is not
|
|
|
|
case-sensitive. The <i>argument</i> is treated literally. It
|
|
|
|
is neither required nor allowed to enclose the
|
|
|
|
<i>argument</i> in any form of quote characters except when
|
|
|
|
quote characters are part of the argument itself. Whitespace
|
|
|
|
characters are ignored only</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">- at the
|
|
|
|
beginning of a line <br>
|
|
|
|
- between the <i>keyword</i> and ’=’ <br>
|
|
|
|
- between ’=’ and the <i>argument</i></p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">Lines, that
|
|
|
|
start with ’#’ or ’;’ are treated as
|
|
|
|
comments. Empty lines are ignored as well. If a
|
|
|
|
<i>keyword</i> is repeated in another line, vlmcsd will use
|
|
|
|
the <i>argument</i> of the last occurence of the
|
|
|
|
<i>keyword</i>. An exception to this is the Listen
|
|
|
|
<i>keyword</i> which can be specified multiple times and
|
|
|
|
causes vlmcsd to listen on more than one IP address and/or
|
|
|
|
port.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">Some
|
|
|
|
<i>argument</i>s are binary arguments that need to be either
|
|
|
|
TRUE or FALSE. You can use "Yes", "On"
|
|
|
|
or "1" as an alias for TRUE and "No",
|
|
|
|
"Off" or "0" as an alias for FALSE.
|
|
|
|
Binary arguments are case-insensitive.</p>
|
|
|
|
|
|
|
|
<h2>KEYWORDS
|
|
|
|
<a name="KEYWORDS"></a>
|
|
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">The following
|
|
|
|
<i>keyword</i>s are defined (not all keywords may be
|
|
|
|
available depending on the operating system and the options
|
|
|
|
used when <b>vlmcsd</b>(8) was compiled):</p>
|
|
|
|
|
|
|
|
<table width="100%" border="0" rules="none" frame="void"
|
|
|
|
cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
|
|
|
<td width="11%"></td>
|
|
|
|
<td width="9%">
|
|
|
|
|
|
|
|
|
|
|
|
<p><b>Listen</b></p></td>
|
|
|
|
<td width="2%"></td>
|
|
|
|
<td width="78%">
|
|
|
|
|
|
|
|
|
|
|
|
<p>This defines on what combinations of IP addresses and
|
|
|
|
ports vlmcsd should listen. <b>Listen</b> can be specified
|
|
|
|
more than once. The <i>argument</i> has the form
|
|
|
|
<i>ipaddress</i>[:<i>port</i>]. If you omit the <i>port</i>,
|
|
|
|
the default port of 1688 is used. If the <i>ipaddress</i>
|
|
|
|
contains colons and a <i>port</i> is used, you must enclose
|
|
|
|
the <i>ipaddress</i> in brackets. The default is to listen
|
|
|
|
to 0.0.0.0:1688 and [::]:1688 which means listen to all IPv4
|
|
|
|
and all IPv6 addresses. See the <b>-L</b> option in
|
|
|
|
<b>vlmcsd</b>(8) for more info about the syntax. If you use
|
|
|
|
<b>-L</b> or <b>-P</b> on the command line, all
|
|
|
|
<b>Listen</b> keywords in the ini file will be ignored. The
|
|
|
|
<b>Listen</b> keyword cannot be used if vlmcsd has been
|
|
|
|
compiled to use Microsoft RPC (Windows and Cygwin only) or
|
|
|
|
simple sockets.</p></td></tr>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
<p style="margin-left:22%; margin-top: 1em">Examples:</p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%; margin-top: 1em">Listen =
|
|
|
|
192.168.1.123:1688 <br>
|
|
|
|
Listen = 0.0.0.0:1234 <br>
|
|
|
|
Listen = [fe80::1721:12ff:fe81:d36b%eth0]:1688</p>
|
|
|
|
|
|
|
|
<table width="100%" border="0" rules="none" frame="void"
|
|
|
|
cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
|
|
|
<td width="11%"></td>
|
|
|
|
<td width="6%">
|
|
|
|
|
|
|
|
|
|
|
|
<p style="margin-top: 1em"><b>Port</b></p></td>
|
|
|
|
<td width="5%"></td>
|
|
|
|
<td width="78%">
|
|
|
|
|
|
|
|
|
|
|
|
<p style="margin-top: 1em">Can only be used if vlmcsd has
|
|
|
|
been compiled to use simple sockets or on Windows and Cygwin
|
|
|
|
if <b>vlmcsd</b>(8) has been compiled to use Microsoft RPC.
|
|
|
|
Otherwise you must use <b>Listen</b> instead. Causes vlmcsd
|
|
|
|
to listen on that port instead of 1688.</p></td></tr>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
<p style="margin-left:11%;"><b>FreeBind</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%;">Can be TRUE or FALSE. If TRUE,
|
|
|
|
you can use the <b>Listen</b> keyword with IP addresses that
|
|
|
|
are currently not defined on your system. <b>vlmcsd</b>(8)
|
|
|
|
will start listening on these IP addresses as soon as they
|
|
|
|
become available. This keyword is only available under Linux
|
|
|
|
and FreeBSD because no other OS currently supports that
|
|
|
|
feature. FreeBSD supports this only for IPv4 and requires
|
|
|
|
the PRIV_NETINET_BINDANY privilege which is normally
|
|
|
|
assigned to proccesses of the root user.</p>
|
|
|
|
|
|
|
|
|
|
|
|
<p style="margin-left:11%;"><b>PublicIPProtectionLevel</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%;">Set the level of protection
|
|
|
|
against KMS activations from public IP addresses.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%; margin-top: 1em">0 = No
|
|
|
|
protection (default) <br>
|
|
|
|
1 = Listen on private IP addresses only (plus
|
|
|
|
those specified by one or more <b>Listen</b> statements)
|
|
|
|
<br>
|
|
|
|
2 = Disconnect clients with public IP addresses
|
|
|
|
without activating <br>
|
|
|
|
3 = Combines 1 and 2</p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%; margin-top: 1em">For details on
|
|
|
|
public IP protection levels see <b>vlmcsd</b>(8) command
|
|
|
|
line option <b>-o</b>.</p>
|
|
|
|
|
|
|
|
<table width="100%" border="0" rules="none" frame="void"
|
|
|
|
cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
|
|
|
<td width="11%"></td>
|
|
|
|
<td width="4%">
|
|
|
|
|
|
|
|
|
|
|
|
<p><b>VPN</b></p></td>
|
|
|
|
<td width="7%"></td>
|
|
|
|
<td width="78%">
|
|
|
|
|
|
|
|
|
|
|
|
<p>Has to be in the form
|
|
|
|
<i>vpn-adapter-name</i>[=<i>ipv4-address</i>][/<i>cidr-mask</i>][:<i>dhcp-lease-duration</i>].</p> </td></tr>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
<p style="margin-left:22%; margin-top: 1em">Enables a
|
|
|
|
compatible VPN adapter to create additional local IPv4
|
|
|
|
addresses (like 127.0.0.1) that appear as remote IPv4
|
|
|
|
addresses to the system. This allows product activation
|
|
|
|
using a local instance of vlmcsd. This feature is only
|
|
|
|
available in Windows and Cygwin builds of vlmcsd since it is
|
|
|
|
not of any use on other operating systems. Compatible VPN
|
|
|
|
adapters are Tap-windows version 8.2 or higher (from
|
|
|
|
OpenVPN) and the TeamViewer VPN adapter. There is a special
|
|
|
|
<i>vpn-adapter-name</i>. A single period (.) instructs
|
|
|
|
vlmcsd to use the first available compatible VPN adapter.
|
|
|
|
The <i>vpn-adapter-name</i> is <b>not</b> case-sensitive. If
|
|
|
|
the <i>vpn-adapter-name</i> contains spaces (e.g. Ethernet
|
|
|
|
3), do <b>not</b> enclose it in quotes.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%; margin-top: 1em">The default
|
|
|
|
<i>ipv4-address</i> is 10.10.10.9 and the default
|
|
|
|
<i>cidr-mask</i> is 30. If you are using the default values,
|
|
|
|
your VPN adapter uses an IPv4 address of 10.10.10.9 and you
|
|
|
|
can set your activation client to use the easy to remember
|
|
|
|
address 10.10.10.10 (e.g. slmgr /skms 10.10.10.10 or cscript
|
|
|
|
ospp.vbs /sethst:10.10.10.10).</p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%; margin-top: 1em">The
|
|
|
|
<i>dhcp-lease-duration</i> is a number optionally followed
|
|
|
|
by s, m, h, d or w to indicate seconds, minutes, hours, days
|
|
|
|
or weeks. The default <i>dhcp-lease-duration</i> is 1d (one
|
|
|
|
day). It is normally not required to change this value.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%; margin-top: 1em">It is advised
|
|
|
|
not to manually configure your OpenVPN TAP or TeamViewer VPN
|
|
|
|
adapter in "Network Connections". If you set the
|
|
|
|
IPv4 configuration manually anyway, the IPv4 address and the
|
|
|
|
subnet mask must match the <b>VPN=</b> directive. It is safe
|
|
|
|
leave the IPv4 configuration to automatic (DHCP). vlmcsd
|
|
|
|
will wait up to four seconds for the DHCP configuration to
|
|
|
|
complete before binding to and listenin on any
|
|
|
|
interfaces.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%; margin-top: 1em">You should be
|
|
|
|
aware that only one program can use a VPN adapter at a time.
|
|
|
|
If you use the TeamViewer VPN adapter for example, you will
|
|
|
|
not be able to use the VPN feature of TeamViewer as long as
|
|
|
|
vlmcsd is running. The same applies to OpenVPN TAP adapters
|
|
|
|
that are in use by other programs (for example OpenVPN,
|
|
|
|
QEMU, Ratiborus VM, aiccu, etc.). The best way to avoid
|
|
|
|
conflicts is to install Tap-Windows from OpenVPN, cd to
|
|
|
|
C:\Program Files\TAP-Windows\bin and run addtap.bat to
|
|
|
|
install an additional TAP adapter. Go to "Network
|
|
|
|
Connections" and rename the new adapter to
|
|
|
|
"vlmcsd" and specify <b>VPN=vlmcsd</b> to use
|
|
|
|
it.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%;"><b>ExitLevel</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%;">Can be either 0 (the default)
|
|
|
|
or 1. Controls under what circumstances vlmcsd will exit.
|
|
|
|
Using the default of <b>0</b> vlmcsd stays active as long as
|
|
|
|
it can perform some useful operations. If vlmcsd is run by
|
|
|
|
any form of a watchdog, e.g. NT service manager (Windows),
|
|
|
|
systemd (Linux) or launchd (Mac OS / iOS), it may be
|
|
|
|
desirable to end vlmcsd and let the watchdog restart it.
|
|
|
|
This is especially true if some pre-requisites are not yet
|
|
|
|
met but will be some time later, e.g. network is not yet
|
|
|
|
fully setup.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%; margin-top: 1em">By using
|
|
|
|
<b>ExitLevel = 0</b> vlmcsd will</p>
|
|
|
|
|
|
|
|
<p style="margin-left:29%; margin-top: 1em">exit if none of
|
|
|
|
the listening sockets specified with <b>-L</b> can be used.
|
|
|
|
It continues if at least one socket can be setup for
|
|
|
|
listening.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:29%; margin-top: 1em">exit any TAP
|
|
|
|
mirror thread (Windows version only) if there is an error
|
|
|
|
condition while reading or writing from or to the VPN
|
|
|
|
adapter but continue to work without utilizing a VPN
|
|
|
|
adapter.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%; margin-top: 1em">By using
|
|
|
|
<b>ExitLevel = 1</b> vlmcsd will</p>
|
|
|
|
|
|
|
|
<p style="margin-left:29%; margin-top: 1em">exit if not all
|
|
|
|
listening sockets specified with <b>-L</b> can be used.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:29%; margin-top: 1em">exit completely
|
|
|
|
if there is a problem with a VPN adapter it is using. This
|
|
|
|
may happen for instance if the VPN adapter has been disabled
|
|
|
|
using "Control Panel - Network - Adapter Settings"
|
|
|
|
while vlmcsd is using it.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%; margin-top: 1em">Please note
|
|
|
|
that <b>ExitLevel = 1</b> is kind of a workaround option.
|
|
|
|
While it may help under some circumstances, it is better to
|
|
|
|
solve the problem at its origin, e.g. properly implementing
|
|
|
|
dependencies in your startup script to ensure all network
|
|
|
|
interfaces and the VPN adapter you will use are completely
|
|
|
|
setup before you start vlmcsd.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%;"><b>UseNDR64</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%;">Can be TRUE or FALSE. Specifies
|
|
|
|
whether you want to use the NDR64 transfer syntax. See
|
|
|
|
options <b>-n0</b> and <b>-n1</b> in <b>vlmcsd</b>(8). The
|
|
|
|
default is TRUE.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%;"><b>UseBTFN</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%;">Can be TRUE or FALSE. Specifies
|
|
|
|
whether you want to use bind time feature negotiation in
|
|
|
|
RPC. See options <b>-b0</b> and <b>-b1</b> in
|
|
|
|
<b>vlmcsd</b>(8). The default is TRUE.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%;"><b>RandomizationLevel</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%;">The <i>argument</i> must 0, 1
|
|
|
|
or 2. This specifies the ePID randomization level. See
|
|
|
|
options <b>-r0</b>, <b>-r1</b> and <b>-r2</b> in
|
|
|
|
<b>vlmcsd</b>(8). The default randomization level is 1. A
|
|
|
|
<b>RandomizationLevel</b> of 2 is not recommended and should
|
|
|
|
be treated as a debugging level.</p>
|
|
|
|
|
|
|
|
<table width="100%" border="0" rules="none" frame="void"
|
|
|
|
cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
|
|
|
<td width="11%"></td>
|
|
|
|
<td width="6%">
|
|
|
|
|
|
|
|
|
|
|
|
<p><b>LCID</b></p></td>
|
|
|
|
<td width="5%"></td>
|
|
|
|
<td width="78%">
|
|
|
|
|
|
|
|
|
|
|
|
<p>Use a specific culture id (LCID) even if the ePID is
|
|
|
|
randomized. The <i>argument</i> must be a number between 1
|
|
|
|
and 32767. While any number in that range is valid, you
|
|
|
|
should use an offcial LCID. A list of assigned LCIDs can be
|
|
|
|
found at
|
|
|
|
http://msdn.microsoft.com/en-us/goglobal/bb964664.aspx. On
|
|
|
|
the command line you control this setting with option
|
|
|
|
<b>-C</b>.</p> </td></tr>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
<p style="margin-left:11%;"><b>MaxWorkers</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%;">The <i>argument</i> specifies
|
|
|
|
the maximum number of worker processes or threads that will
|
|
|
|
be used to serve activation requests concurrently. This is
|
|
|
|
the same as specifying <b>-m</b> on the command line.
|
|
|
|
Minimum is 1. The maximum is platform specific and is at
|
|
|
|
least 32767 but is likely to be greater on most systems. The
|
|
|
|
default is no limit.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%;"><b>ConnectionTimeout</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%;">Used to control when the vlmcsd
|
|
|
|
disconnects idle TPC connections. The default is 30 seconds.
|
|
|
|
This is the same setting as <b>-t</b> on the command
|
|
|
|
line.</p>
|
|
|
|
|
|
|
|
|
|
|
|
<p style="margin-left:11%;"><b>DisconnectClientsImmediately</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%;">Set this to TRUE to disconnect
|
|
|
|
a client after it got an activation response regardless
|
|
|
|
whether a timeout has occured or not. The default is FALSE.
|
|
|
|
Setting this to TRUE is non-standard behavior. Use only if
|
|
|
|
you are experiencing DoS or DDoS attacks. On the command
|
|
|
|
line you control this behavior with options <b>-d</b> and
|
|
|
|
<b>-k</b>.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%;"><b>PidFile</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%;">Write a pid file. The
|
|
|
|
<i>argument</i> is the full pathname of a pid file. The pid
|
|
|
|
file contains is single line containing the process id of
|
|
|
|
the vlmcsd process. It can be used to stop (SIGTERM) or
|
|
|
|
restart (SIGHUP) vlmcsd. This directive can be overriden
|
|
|
|
using <b>-p</b> on the command line.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%;"><b>LogFile</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%;">Write a log file. The
|
|
|
|
<i>argument</i> is the full pathname of a log file. On a
|
|
|
|
unixoid OS and with Cygwin you can use the special filename
|
|
|
|
’syslog’ to log to the syslog facility. This is
|
|
|
|
the same as specifying <b>-l</b> on the command line.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%;"><b>KmsData</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%;">Use a KMS data file. The
|
|
|
|
<i>argument</i> is the full pathname of a KMS data file. By
|
|
|
|
default vlmcsd only contains the minimum product data that
|
|
|
|
is required to perform all operations correctly. You may use
|
|
|
|
a more complete KMS data file that contains all detailed
|
|
|
|
product names. This is especially useful if you are logging
|
|
|
|
KMS requests. If you don’t log, there is no need to
|
|
|
|
load an external KMS data file.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%; margin-top: 1em">You may use
|
|
|
|
<b>KmsData = -</b> to prevent the default KMS data
|
|
|
|
file to be loaded.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%;"><b>LogDateAndTime</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%;">Can be TRUE or FALSE. The
|
|
|
|
default is TRUE. If set to FALSE, logging output does not
|
|
|
|
include date and time. This is useful if you log to
|
|
|
|
<b>stdout</b>(3) which is redirected to another logging
|
|
|
|
mechanism that already includes date and time in its output,
|
|
|
|
for instance <b>systemd-journald</b>(8). If you log to
|
|
|
|
<b>syslog</b>(3), <b>LogDateAndTime</b> is ignored and date
|
|
|
|
and time will never be included in the output sent to
|
|
|
|
<b>syslog</b>(3). Using the command line you control this
|
|
|
|
setting with options <b>-T0</b> and <b>-T1</b>.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%;"><b>LogVerbose</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%;">Set this to either TRUE or
|
|
|
|
FALSE. The default is FALSE. If set to TRUE, more details of
|
|
|
|
each activation will be logged. You use <b>-v</b> and
|
|
|
|
<b>-q</b> in the command line to control this setting.
|
|
|
|
<b>LogVerbose</b> has an effect only if you specify a log
|
|
|
|
file or redirect logging to <b>stdout</b>(3).</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%;"><b>WhitelistingLevel</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%;">Can be 0, 1, 2 or 3. The
|
|
|
|
default is 0. Sets the whitelisting level to determine which
|
|
|
|
products vlmcsd activates or refuses.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:29%; margin-top: 1em"><b>0</b>:
|
|
|
|
activate all products with an unknown, retail or
|
|
|
|
beta/preview KMS ID. <b><br>
|
|
|
|
1</b>: activate products with a retail or beta/preview KMS
|
|
|
|
ID but refuse to activate products with an unknown KMS ID.
|
|
|
|
<b><br>
|
|
|
|
2</b>: activate products with an unknown KMS ID but refuse
|
|
|
|
products with a retail or beta/preview KMS ID. <b><br>
|
|
|
|
3</b>: activate only products with a known volume license
|
|
|
|
RTM KMS ID and refuse all others.</p>
|
|
|
|
|
|
|
|
<table width="100%" border="0" rules="none" frame="void"
|
|
|
|
cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
|
|
|
<td width="22%"></td>
|
|
|
|
<td width="78%">
|
|
|
|
|
|
|
|
|
|
|
|
<p>The SKU ID is not checked. Like a genuine KMS server
|
|
|
|
vlmcsd activates a product that has a random or unknown SKU
|
|
|
|
ID. If you select <b>1</b> or <b>3</b>, vlmcsd also checks
|
|
|
|
the Application ID for correctness. If Microsoft introduces
|
|
|
|
a new KMS ID for a new product, you cannot activate it if
|
|
|
|
you used <b>1</b> or <b>3</b> until a new version of vlmcsd
|
|
|
|
is available.</p></td></tr>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
<p style="margin-left:11%;"><b>CheckClientTime</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%;">Can be TRUE or FALSE. The
|
|
|
|
default is FALSE. If you set this to TRUE <b>vlmcsd</b>(8)
|
|
|
|
checks if the client time differs no more than four hours
|
|
|
|
from the system time. This is useful to prevent emulator
|
|
|
|
detection. A client that tries to detect an emulator could
|
|
|
|
simply send two subsequent request with two time stamps that
|
|
|
|
differ more than four hours from each other. If both
|
|
|
|
requests succeed, the server is an emulator. If you set this
|
|
|
|
to TRUE on a system with no reliable time source,
|
|
|
|
activations will fail. It is ok to set the correct system
|
|
|
|
time after you started <b>vlmcsd</b>(8).</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%;"><b>MaintainClients</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%;">Can be TRUE or FALSE (the
|
|
|
|
default). Disables (FALSE) or enables (TRUE) maintaining a
|
|
|
|
list of client machine IDs (CMIDs). TRUE is useful to
|
|
|
|
prevent emulator detection. By maintaing a CMID list,
|
|
|
|
<b>vlmcsd</b>(8) reports current active clients exactly like
|
|
|
|
a genuine KMS emulator. This includes bug compatibility to
|
|
|
|
the extent that you can permanently kill a genuine KMS
|
|
|
|
emulator by sending an "overcharge request" with a
|
|
|
|
required client count of 376 or more and then request
|
|
|
|
activation for 671 clients. <b>vlmcsd</b>(8) can be reset
|
|
|
|
from this condition by restarting it. If FALSE is used,
|
|
|
|
<b>vlmcsd</b>(8) reports current active clients as good as
|
|
|
|
possible. If no client sends an "overcharge
|
|
|
|
request", it is not possible to detect <b>vlmcsd</b>(8)
|
|
|
|
as an emulator with
|
|
|
|
<b>MaintainClients </b>= FALSE. Maintaining
|
|
|
|
clients requires the allocation of a buffer that is about 50
|
|
|
|
kB in size. On hardware with few memory resources use it
|
|
|
|
only if you really need it.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%; margin-top: 1em">If you start
|
|
|
|
<b>vlmcsd</b>(8) from an internet superserver, this setting
|
|
|
|
cannot be used. Since <b>vlmcsd</b>(8) exits after each
|
|
|
|
activation, it cannot maintain any state in memory.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%;"><b>StartEmpty</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%;">This setting is ignored if you
|
|
|
|
do not also specify <b>MaintainClients </b>= TRUE.
|
|
|
|
If you specify FALSE (the default), <b>vlmcsd</b>(8) starts
|
|
|
|
up as a fully "charged" KMS server. Clients
|
|
|
|
activate immediately. <b>StartEmpty </b>= TRUE
|
|
|
|
lets you start up <b>vlmcsd</b>(8) with an empty CMID list.
|
|
|
|
Activation will start when the required minimum clients (25
|
|
|
|
for Windows Client OSses, 5 for Windows Server OSses and
|
|
|
|
Office) have registered with the KMS server. As long as the
|
|
|
|
minimum client count has not been reached, clients end up in
|
|
|
|
HRESULT 0xC004F038 "The count reported by your Key
|
|
|
|
Management Service (KMS) is insufficient. Please contact
|
|
|
|
your system administrator". You may use <b>vlmcs</b>(1)
|
|
|
|
or another KMS client emulator to "charge"
|
|
|
|
<b>vlmcsd</b>(8). Setting this parameter to TRUE does not
|
|
|
|
improve emulator detection prevention. It’s primary
|
|
|
|
purpose is to help developers of KMS clients to test
|
|
|
|
"charging" a KMS server.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%;"><b>ActivationInterval</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%;">This is the same as specifying
|
|
|
|
<b>-A</b> on the command line. See <b>vlmcsd</b>(8) for
|
|
|
|
details. The default is 2 hours. Example:
|
|
|
|
ActivationInterval = 1h</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%;"><b>RenewalInterval</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%;">This is the same as specifying
|
|
|
|
<b>-R</b> on the command line. See <b>vlmcsd</b>(8) for
|
|
|
|
details. The default is 7 days. Example: RenewalInterval =
|
|
|
|
3d. Please note that the KMS client decides itself when to
|
|
|
|
renew activation. Even though vlmcsd sends the renewal
|
|
|
|
interval you specify, it is no more than some kind of
|
|
|
|
recommendation to the client. Older KMS clients did follow
|
|
|
|
the recommendation from a KMS server or emulator. Newer
|
|
|
|
clients do not.</p>
|
|
|
|
|
|
|
|
<table width="100%" border="0" rules="none" frame="void"
|
|
|
|
cellspacing="0" cellpadding="0">
|
|
|
|
<tr valign="top" align="left">
|
|
|
|
<td width="11%"></td>
|
|
|
|
<td width="7%">
|
|
|
|
|
|
|
|
|
|
|
|
<p><b>User</b></p></td>
|
|
|
|
<td width="4%"></td>
|
|
|
|
<td width="78%">
|
|
|
|
|
|
|
|
|
|
|
|
<p>Run vlmcsd as another, preferrably less privileged,
|
|
|
|
user. The <i>argument</i> can be a user name or a numeric
|
|
|
|
user id. You must have the required privileges (capabilities
|
|
|
|
on Linux) to change the security context of a process
|
|
|
|
without providing any credentials (a password in most
|
|
|
|
cases). On most unixoid OSses ’root’ is the only
|
|
|
|
user who has these privileges in the default configuration.
|
|
|
|
This setting is not available in the native Windows version
|
|
|
|
of vlmcsd. See <b>-u</b> in <b>vlmcsd</b>(8). This setting
|
|
|
|
cannot be changed on the fly by sending SIGHUP to
|
|
|
|
vlmcsd.</p> </td></tr>
|
|
|
|
<tr valign="top" align="left">
|
|
|
|
<td width="11%"></td>
|
|
|
|
<td width="7%">
|
|
|
|
|
|
|
|
|
|
|
|
<p><b>Group</b></p></td>
|
|
|
|
<td width="4%"></td>
|
|
|
|
<td width="78%">
|
|
|
|
|
|
|
|
|
|
|
|
<p>Run vlmcsd as another, preferrably less privileged,
|
|
|
|
group. The <i>argument</i> can be a group name or a numeric
|
|
|
|
group id. You must have the required privileges
|
|
|
|
(capabilities on Linux) to change the security context of a
|
|
|
|
process without providing any credentials (a password in
|
|
|
|
most cases). On most unixoid OSses ’root’ is the
|
|
|
|
only user who has these privileges in the default
|
|
|
|
configuration. This setting is not available in the native
|
|
|
|
Windows version of vlmcsd. See <b>-g</b> in
|
|
|
|
<b>vlmcsd</b>(8). This setting cannot be changed on the fly
|
|
|
|
by sending SIGHUP to vlmcsd.</p></td></tr>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
<p style="margin-left:11%;"><b>Windows</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%;">The <i>argument</i> has the
|
|
|
|
form <i>ePID</i> [ / <i>HwId</i> ]. Always use <i>ePID</i>
|
|
|
|
and <i>HwId</i> for Windows activations. If specified,
|
|
|
|
<b>RandomizationLevel</b> for Windows activitations will be
|
|
|
|
ignored.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%;"><b>Office2010</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%;">The <i>argument</i> has the
|
|
|
|
form <i>ePID</i> [ / <i>HwId</i> ]. Always use <i>ePID</i>
|
|
|
|
and <i>HwId</i> for Office 2010 activations. If specified,
|
|
|
|
<b>RandomizationLevel</b> for Office 2010 activitations will
|
|
|
|
be ignored.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%;"><b>Office2013</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%;">The <i>argument</i> has the
|
|
|
|
form <i>ePID</i> [ / <i>HwId</i> ]. Always use <i>ePID</i>
|
|
|
|
and <i>HwId</i> for Office 2013 activations. If specified,
|
|
|
|
<b>RandomizationLevel</b> for Office 2013 activitations will
|
|
|
|
be ignored.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%;"><b>Office2016</b></p>
|
|
|
|
|
|
|
|
<p style="margin-left:22%;">The <i>argument</i> has the
|
|
|
|
form <i>ePID</i> [ / <i>HwId</i> ]. Always use <i>ePID</i>
|
|
|
|
and <i>HwId</i> for Office 2016 activations. If specified,
|
|
|
|
<b>RandomizationLevel</b> for Office 2016 activitations will
|
|
|
|
be ignored.</p>
|
|
|
|
|
|
|
|
<h2>VALID EPIDS
|
|
|
|
<a name="VALID EPIDS"></a>
|
|
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">The ePID is
|
|
|
|
currently a comment only. You can specify any string up to
|
|
|
|
63 bytes. In Windows 7 Microsoft has blacklisted few ( <
|
|
|
|
10 ) ePIDs that were used in KMSv5 versions of the
|
|
|
|
"Ratiborus Virtual Machine". Microsoft has given
|
|
|
|
up on blacklisting when KMS emulators appeared in the
|
|
|
|
wild.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">Even if you can
|
|
|
|
use "Activated by cool hacker guys" as an ePID,
|
|
|
|
you may wish to use ePIDs that cannot be detected as non-MS
|
|
|
|
ePIDs. If you don’t know how these "valid"
|
|
|
|
ePIDs look like exactly, do not use GUIDS in vlmcsd.ini.
|
|
|
|
vlmcsd provides internal mechanisms to generate valid
|
|
|
|
ePIDs.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">If you use
|
|
|
|
non-ASCII characters in your ePID (you shouldn’t do
|
|
|
|
anyway), these must be in UTF-8 format. This is especially
|
|
|
|
important when you run vlmcsd on Windows or cygwin because
|
|
|
|
UTF-8 is not the default encoding for most editors.</p>
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">If you are
|
|
|
|
specifying an optional HWID it follows the same syntax as in
|
|
|
|
the <b>-H</b> option in <b>vlmcsd</b>(8) ecxept that you
|
|
|
|
must not enclose a HWID in quotes even if it contains
|
|
|
|
spaces.</p>
|
|
|
|
|
|
|
|
<h2>FILES
|
|
|
|
<a name="FILES"></a>
|
|
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><b>vlmcsd.ini</b>(5)</p>
|
|
|
|
|
|
|
|
<h2>AUTHOR
|
|
|
|
<a name="AUTHOR"></a>
|
|
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><b>vlmcsd</b>(8)
|
|
|
|
was written by crony12, Hotbird64 and vityan666. With
|
|
|
|
contributions from DougQaid.</p>
|
|
|
|
|
|
|
|
<h2>CREDITS
|
|
|
|
<a name="CREDITS"></a>
|
|
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em">Thanks to
|
|
|
|
CODYQX4, deagles, eIcn, mikmik38, nosferati87, qad,
|
|
|
|
Ratiborus, ...</p>
|
|
|
|
|
|
|
|
<h2>SEE ALSO
|
|
|
|
<a name="SEE ALSO"></a>
|
|
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p style="margin-left:11%; margin-top: 1em"><b>vlmcsd</b>(8),
|
|
|
|
<b>vlmcsd</b>(7), <b>vlmcs</b>(1), <b>vlmcsdmulti</b>(1)</p>
|
|
|
|
<hr>
|
|
|
|
</body>
|
|
|
|
</html>
|