https://wiki.ourodev.com/api.php?action=feedcontributions&user=Bevinsky&feedformat=atomOuroDev - User contributions [en]2024-03-29T05:41:37ZUser contributionsMediaWiki 1.41.0https://wiki.ourodev.com/index.php?title=Servers.cfg&diff=1193Servers.cfg2019-06-01T18:26:57Z<p>Bevinsky: </p>
<hr />
<div>{{DISPLAYTITLE:servers.cfg}}<br />
servers.cfg is the main configuration file for the [[dbserver]]. Other components load the file as well, including the [[launcher]], [[arenaserver]], [[raidserver]], and [[statserver]].<br />
<br />
The directives in the file are used to populate the global ServerCfg configuration. Directive names are also case-insensitive. Lines with a leading {{ms|#}} are ignored.<br />
<br />
== Configuration directives ==<br />
<br />
servers.cfg is a list of config options, one per line. If a config option is repeated, the last one in the file overrides all others. Each line has several words, separated by spaces or tabs. If there are extra words on the end of the line, they are ignored. Spaces can be included in a word by surrounding it with double quotes.<br />
<br />
Anywhere that DNS names are used, IP addresses can be used instead.<br />
<br />
=== General ===<br />
{{CommandLineTable|<br />
{{CLArg|DBServer <ip>|The DNS name of the dbserver. This is used by other components to determine where to connect.}}<br />
{{CLArg|DBServer<n> <ip>|Auxiliary dbservers. Launchers can connect to multiple dbservers; more servers are specified as {{ms|DBServer2}}, {{ms|DBServer3}}, etc.}}<br />
{{CLArg|ShardName <name>|The name of the shard this dbserver manages. This must match a shard name in turnstile_server.cfg.}}<br />
{{CLArg|LocalIp <ips...>|Local IP addresses. If an address matches the top two octets of any address specified here, the dbserver considers it local. ''What is this actually for?''}}<br />
{{CLArg|AdvertisedIp <ip>|Force mapservers to advertise this IP address to clients rather than what the mapserver wants. This is useful for NATed servers.<br />
<br />
''This really shouldn't be in servers.cfg. It belongs in individual launcher configurations instead.''}}<br />
{{CLArg|NoStats <1/0>|Disable the statserver; have the launcher send {{ms|-nostats}} to mapservers.}}<br />
{{CLArg|ChatServer <ip>|Set the IP address of the chatserver.}}<br />
{{CLArg|ClientCommands "<commands>"|A list of commands to be executed by the client upon connection. See [[Client-to-dbserver#DBGAMESERVER_SEND_PLAYERS]].}}<br />
{{CLArg|Locale <name>|The locale of the shard. This must either be a locale name or 0 (in which case English is chosen). Possible values are:<br />
: {{ms|en}}: English<br />
: {{ms|test}}: Test locale<br />
: {{ms|zh}}: Chinese<br />
: {{ms|ko}}: Korean<br />
: {{ms|ja}}: Japanese<br />
: {{ms|de}}: German<br />
: {{ms|fr}}: French<br />
: {{ms|es}}: Spanish<br />
}}<br />
{{CLArg|IsBetaShard <1/0>|Whether or not this shard is a beta shard. On beta shards, users can use the broken mission fix every 10 minutes, rather than every 3 days.}}<br />
{{CLArg|IsVIPShard <1/0>|Whether or not this shard is a VIP shard. Only accounts marked as VIP can log into this shard.}}<br />
{{CLArg|MARTYEnabled <1/0>|Enable/disable the MARTY anti-cheat.}}<br />
{{CLArg|ForceOverloadProtection <1/0>|Forces overload protection to be enabled.}}<br />
{{CLArg|OverloadProtection_LauncherHighWaterMarkPercent <decimal>|Launcher upper bound for overload protection. When the percentage of launchers that cannot launch a server rises above this percentage, engage overload protection.}}<br />
{{CLArg|OverloadProtection_LauncherLowWaterMarkPercent <decimal>|Launcher lower bound for overload protection. When the percentage of launchers that cannot launch a server drops below this percentage, disengage overload protection.}}<br />
{{CLArg|OverloadProtection_SQLQueueHighWaterMark <n>|SQL upper bound for overload protection. When the size of the SQL queue grows larger than this, engage overload protection.}}<br />
{{CLArg|OverloadProtection_SQLQueueLowWaterMark <n>|SQL lower bound for overload protection. When the size of the SQL queue drops below this, disengage overload protection.}}<br />
}}<br />
<br />
=== SQL ===<br />
{{CommandLineTable|<br />
{{CLArg|SqlDbProvider <prov>|The SQL database type. The supported configurations are {{ms|mssql}} and {{ms|postgresql}}, but only MSSQL is properly tested on i24.}}<br />
{{CLArg|SqlDbName <db>|The name of the dbserver database. Most common name is {{ms|cohdb}}.}}<br />
{{CLArg|SqlLogin <connstring>|The connection string for the database connection. Example:<br />
<pre>SqlLogin "DRIVER={SQL Server Native Client 11.0};Server=localhost\SQLEXPRESS;Uid=sa;Pwd=YourL33TPASS!;"<br />
</pre>}}<br />
{{CLArg|SqlInit <query>|An SQL query to initialize the dbserver database for the first time. If {{ms|SqlDbName}} is {{ms|cohdb}}, this could be:<br />
<pre>SqlInit "CREATE DATABASE cohdb;"</pre>}}<br />
{{CLArg|SqlAllowDDL <1/0>|Enable or disable the use of DDL for manipulating the database. This is the master switch for all of the related SQL directives. DDL must be enabled in order to perform many operations for altering the database schema. If a required DDL command is not allowed, the server will exit.}}<br />
{{CLArg|SqlAllowAllDDL <1/0>|Same as {{ms|SqlAllowDDL}}.}}<br />
{{CLArg|SqlAddAttributes <1/0>|Allow the {{ms|SqlAddAttributes}} DDL command.}}<br />
{{CLArg|SqlAddColumnOrTable <1/0>|Allow the {{ms|SqlAddColumnOrTable}} DDL command.}}<br />
{{CLArg|SqlDeleteColumnOrTable <1/0>|Allow the {{ms|SqlDeleteColumnOrTable}} DDL command.}}<br />
{{CLArg|SqlRebuildTable <1/0>|Allow the {{ms|SqlRebuildTable}} DDL command. This has the same effect as setting {{ms|SqlAllowDDL}}.}}<br />
{{CLArg|SqlAlterColumn <1/0>|Allow the {{ms|SqlAlterColumn}} DDL command.}}<br />
{{CLArg|ChangeDbOwnerFrom <name>|Runs some kind of stored procedure. {{ms|// requested by joe phillips}}}}<br />
}}<br />
<br />
=== Auth & Queue ===<br />
{{CommandLineTable|<br />
{{CLArg|UseFakeAuth <0/1>|Enable fake auth. This lets clients log in directly to the dbserver (with any account) instead of going via an authserver.}}<br />
{{CLArg|AuthServer <ip> <port>|The DNS name and port to use when connecting to the authserver. '''Either this or {{ms|UseFakeAuth}} must be present in the file.'''}}<br />
{{CLArg|UseQueueServer <1/0>|Enable or disable the use of the [[queueserver]].}}<br />
{{CLArg|LoginsPerMinute <num>|Number of players that the queueserver is allowed to admit per minute. Default is 100.}}<br />
{{CLArg|BlockFreePlayersIfNoAccountServer <1/0>|Put F2P players in the queue if the account server is down. ''Presumably? clientcomm s_skipQueue''}}<br />
{{CLArg|EnqueueWithAuthLimiter <1/0>|''Let people into the shard even if we would queue them normally?''}}<br />
{{CLArg|AuthnameLimiterEnabled <1/0>|''This is associated with BlockFreePlayersIfNoAccountServer and EnqueueWithAuthLimiter, but I'm really not sure what it's for.''}}<br />
{{CLArg|AuthnameLimiterAccessLevel <n>|Characters greater than this access level can bypass the auth limiter.}}<br />
{{CLArg|OverrideAuthBit <names...>|Force user authbits to be set regardless of the state in the database. The format is comma or space-separated authbit names; see {{ms|authUserData.c:authUserSetFieldByName}}.}}<br />
{{CLArg|OwnsGoingRogue <1/0>|Set/unset the Going Rogue authbit. Only works on FakeAuth shards.}}<br />
{{CLArg|DefaultLoyaltyPointsFakeAuth <n>|Number of loyalty points automatically granted to FakeAuth accounts.}}<br />
{{CLArg|DefaultLoyaltyLegacyPointsFakeAuth <n>|Number of loyalty legacy points automatically granted to FakeAuth accounts. ''Legacy?''}}<br />
}}<br />
<br />
=== Players, Accounts & Characters ===<br />
{{CommandLineTable|<br />
{{CLArg|DefaultAccessLevel <n>|Set the access level of new characters. This should be 0 for any production system.}}<br />
{{CLArg|MaxPlayers <num>|The maximum number of players that can be connected at any time. The maximum value is AUTH_SIZE_MAX (8191):<br />
<pre><br />
#define AUTH_SIZE_MAX (((1<<14)/2)-1) //so Auth server treats any number (1<<14) or bigger as being zero. So we're saying that you<br />
//can't have a max size > 1<<13-1 so that you can have 1<<13 available for the queue.</pre>}}<br />
{{CLArg|MinPlayers <num>|''Unsure about this. It's only ever sent to authserver when it queries how many are online, but that code is dead:<br />
<pre><br />
if (server_cfg.min_players && 0 /*sqlFifoNearFull()*/)<br />
authPutU16(pak,server_cfg.min_players);<br />
else<br />
authPutU16(pak,AUTH_SIZE_MAX+server_cfg.max_players);<br />
</pre>}}<br />
{{CLArg|MaxDualSlots <n>|Number of shared H/V character slots per player? Default is 12, maximum is 48.}}<br />
{{CLArg|BackupDays <days>|Number of days to keep stored backups (characters?) for. Minimum is 30 days.}}<br />
{{CLArg|OfflineProtectLevel <level>|Highest level of character that can be moved to offline storage. Default is 35. ''Probably?''}}<br />
{{CLArg|OfflineIdleDays <days>|Number of days before a character is moved to offline storage.}}<br />
{{CLArg|XPScale <decimal>|Experience multiplier. Default is 1.0.}}<br />
{{CLArg|NameLockTimeout <n>|Number of seconds to keep character names temporarily reserved when performing a name lookup. This must be greater than the client refresh time, which is 600. Default is 1200.}}<br />
}}<br />
<br />
=== Mapserver & beaconserver ===<br />
{{CommandLineTable|<br />
{{CLArg|MapServerParams "<params>"|Extra parameters to send to launched mapservers.}}<br />
{{CLArg|CompleteBrokenTasks <1/0>|Sends {{ms|-completebrokentasks}} to launched mapservers. ''Document what this does.''}}<br />
{{CLArg|DoNotLaunchMapServerTSR <1/0>|Don't launch any TSR mapservers. TSR mapservers preload data to shared memory to make loading other mapservers faster.}}<br />
{{CLArg|RaidTimeZoneDelta <decimal>|Difference in hours between the time on the mapserver and the dbserver. Default comes from the OS. ''This is sent from dbserver to mapserver, but doesn't seem used?''}}<br />
{{CLArg|BlockedMapKey <maps...>|A comma delimited list of map keys to not load.}}<br />
{{CLArg|DisabledZoneEvents <events...>|A comma delimited list of disabled zone events.}}<br />
{{CLArg|MapserverIdleExit <n>|Shut down mapservers if they are idle for this many minutes. Default is 0 (idle shutdown is disabled). Keep in mind that maps without {{ms|Transient}} in their maps.db entry will never shut down, even after being idle.}}<br />
{{CLArg|MapserverIdleUpkeep <n>|Number of minutes a mapserver must be idle before performing idle maintenance. Idle maintenance will attempt to minimize the memory footprint of the mapserver by compacting the working set. Default is 20 minutes.}}<br />
{{CLArg|MapserverDailyUpkeep <start> <end>|Specify an hour range (24-hour clock) for when to perform daily maintenance on static mapservers. Daily maintenance is disabled by default.}}<br />
{{CLArg|SendDoorsToAllMaps <1/0>|Whether door updates should be sent to all mapservers. This is a legacy behavior; by default, updates are only sent to static maps and supergroup bases, and not mission maps, raid maps and arena maps.}}<br />
{{CLArg|MasterBeaconServer <host>|Hostname for the master beaconserver.}}<br />
{{CLArg|DoNotLaunchMasterBeaconServer <1/0>|Don't launch the master beaconserver.}}<br />
{{CLArg|RequestBeaconServerCount <n>|Number of beaconrequestservers to launch. Negative values correspond to 2. Default is -1.}}<br />
{{CLArg|BeaconRequestCacheDir <dir>|Cache directory for requests made to the beaconservers. ''Probably.''}}<br />
{{CLArg|DoNotLaunchBeaconClients <1/0>|Don't launch any beaconclients.}}<br />
}}<br />
<br />
=== Logging & Metrics ===<br />
{{CommandLineTable|<br />
{{CLArg|LogDir <dir>|Set the log file directory. Default is {{ms|logs}} inside the game data directory.}}<br />
{{CLArg|AssertMode "<modes>"|Set the behavior of assertion failures. Multiple modes can be specified if the argument is wrapped in quotes. Possible modes are:<br />
{{CommandLineTable|<br />
{{CLArg|Minidump|Create minidumps (.mdmp) on failure.}}<br />
{{CLArg|Fulldump|Create full dumps (.dmp) on failure.}}<br />
{{CLArg|Exit|Exit on failure.}}<br />
{{CLArg|NoTimestamp|Don't name dump files with timestamps.}}<br />
{{CLArg|NoDate|Same as {{ms|NoTimestamp}}.}}<br />
{{CLArg|Zip|Zip the dump files.}}<br />
{{CLArg|Ignore|Enable the ignore button on assertions.}}<br />
}}}}<br />
{{CLArg|UseLogServer <1/0>|Enable the logserver.}}<br />
{{CLArg|LogServer <ip>|Set the IP address of the logserver. This implies enabling the logserver.}}<br />
{{CLArg|LogRelayVerbose <1/0>|Enable verbose logging. ''Of what? Inter-server handover?''}}<br />
{{CLArg|SetLogLevel <logtype> <level>|Set the log level of the various log types. This directive can appear multiple times. Possible levels are:<br />
{{CommandLineTable|<br />
{{CLArg|-2|DISABLED; do not log anything.}}<br />
{{CLArg|-1|ALERT; this is so important that someone should be notified.}}<br />
{{CLArg|0|IMPORTANT; only the most important information. Default value.}}<br />
{{CLArg|1|VERBOSE; information that we would like, but has the possibility of spamming the logs with too much data.}}<br />
{{CLArg|2|DEPRECATED; there are old things that are doubtful we should even be logging.}}<br />
{{CLArg|3|DEBUG; lots of information for debugging only.}}<br />
}}<br />
Possible log types are listed below. They are case-insensitive.<br />
<br />
==== General ====<br />
{{CommandLineTable|<br />
{{CLArg|crashDetails|Crash reports}}<br />
{{CLArg|debug|Logs for debugging purposes. Usually temporary, while the bug is being tracked down.}}<br />
{{CLArg|persist|Logs for the text journaling system}}<br />
{{CLArg|error|Errors we want to know about sent here}}<br />
{{CLArg|old|Log messages that are probably worthless are sent here, on the off-chance we still need them}}<br />
{{CLArg|TestClient|Used to generate output from test clients}}<br />
{{CLArg|packets|Packet logging}}<br />
}}<br />
==== dbserver ====<br />
{{CommandLineTable|<br />
{{CLArg|delete|Proof they deleted their character}}<br />
{{CLArg|offline|Players getting moved out of the db into text}}<br />
{{CLArg|SystemSpecs|Log users system specs when the connect to db}}<br />
{{CLArg|OverloadProtection|Overload protection messages}}<br />
{{CLArg|CharSlotApply|Proof they committed a character slot to a shard}}<br />
}}<br />
==== Mapserver ====<br />
{{CommandLineTable|<br />
{{CLArg|entity|General log of things on entities (no chat, powers, or rewards related)}}<br />
{{CLArg|powers|Power Info (may be redundant since chat records lots of powers information)}}<br />
{{CLArg|supergroup|Supergroup specific things}}<br />
{{CLArg|bug|Player reported bugs}}<br />
{{CLArg|chat|Chat}}<br />
{{CLArg|cheaters|Egregious cheats sent here}}<br />
{{CLArg|rewards|Anything to do with player inventory should go here}}<br />
{{CLArg|sze_rewards|Scripted zone event reward logs}}<br />
{{CLArg|survey|''Seems to be some special kind of bug report from the client.''}}<br />
{{CLArg|cmds|Access level commands. These are commands with AccessLevel < ACCESS_DEBUG (9).}}<br />
{{CLArg|internalcmds|Internal commands. These are commands with AccessLevel >{{=}} ACCESS_DEBUG.}}<br />
{{CLArg|MARTY|MARTY (anti-cheat system) logs.}}<br />
{{CLArg|Admin|Logs admin commands. ''Seems to mostly be used for logging the stuck mission complete function.''}}<br />
{{CLArg|Performance|Performance logs}}<br />
{{CLArg|DuplicateMessageIDs|Log for duplicate message ids. Probably for duplicate localization string hashes.}}<br />
}}<br />
==== Accountserver ====<br />
{{CommandLineTable|<br />
{{CLArg|Account|Generic account log}}<br />
{{CLArg|Transaction|Account transaction log}}<br />
}}<br />
==== Arenaserver ====<br />
{{CommandLineTable|<br />
{{CLArg|ArenaEvent|In depth arena event logs.}}<br />
}}<br />
==== Auctionserver ====<br />
{{CommandLineTable|<br />
{{CLArg|Auction|Auction log}}<br />
{{CLArg|Xaction|Auction transaction log}}<br />
}}<br />
==== Missionserver ====<br />
{{CommandLineTable|<br />
{{CLArg|DeletedArcs|Log for deleted/deleting arcs.}}<br />
{{CLArg|missionserver|Generic missionserver logs.}}<br />
}}<br />
==== Raidserver ====<br />
{{CommandLineTable|<br />
{{CLArg|iop|Items of Power log.}}<br />
}}<br />
==== Statserver ====<br />
{{CommandLineTable|<br />
{{CLArg|statserver|Statserver log.}}<br />
}}<br />
==== Turnstileserver ====<br />
{{CommandLineTable|<br />
{{CLArg|turnstile|Turnstileserver log.}}<br />
}}<br />
}}<br />
{{CLArg|IsLoggingMaster <1/0>|If 1, this server will propagate the configured loglevels to all of the connected servers.}}<br />
{{CLArg|DroppedPacketLogging <1/0>|Log when packets are dropped or received out of order.}}<br />
{{CLArg|AuthBadPacketReconnect <1/0>|Extra verification on auth packets?}}<br />
{{CLArg|DiffDebug <1/0>|Possibly perform extra verification checks on containers? Sends {{ms|-diffdebug}} to launched mapservers.}}<br />
{{CLArg|ContainerSizeDebug <1/0>|Possibly perform extra verification checks on containers?}}<br />
{{CLArg|MetricsEnabled <1/0>|Enable ZeroMQ metrics. Disabled by default.}}<br />
{{CLArg|MetricsIPAddress <ip>|IP address for the ZeroMQ instance.}}<br />
{{CLArg|MetricsPortNumber <port>|Port for the ZeroMQ instance.}}<br />
{{CLArg|MetricsMQType <n>|This is "the socket type of the metrics system's ZeroMQ connection".}}<br />
{{CLArg|MetricsHighWaterMark <n>|The high water mark of the ZeroMQ connection.}}<br />
}}<br />
<br />
=== Miscellaneous ===<br />
{{CommandLineTable|<br />
{{CLArg|ClientProject <name>|Set the "registry name". This is used to construct the path to the Windows registry keys. Default is {{ms|CoH}}.}}<br />
{{CLArg|MaxLevel <n>|Appears to be global max level for NPCs. It doesn't seem to be max level for characters, which you might think.}}<br />
{{CLArg|MaxCoHLevel <n>|NPC max level for blue zones?}}<br />
{{CLArg|MaxCoVLevel <n>|NPC max level for red zones?}}<br />
{{CLArg|DoNotPreloadCrashReportDLL <1/0>|Don't preload the crash report DLL.}}<br />
{{CLArg|DisableContainerBackups <1/0>|Disable on-disk container backups.}}<br />
{{CLArg|AuctionInvMaxLastLoginDays <n>|Auction entries for accounts that have not logged in in this many days are not sent. Default is 60.}}<br />
{{CLArg|MissionserverMaxSendQueueSize <n>|The maximum amount of bytes allowed in the send queue to the [[missionserver]]. Default is {{ms|DB_MISSIONSERVER_MAX_SENDQUEUE_SIZE_DEFAULT}} (1000000).}}<br />
{{CLArg|MissionserverMaxSendQueuePublishSize <n>|The maximum amount of bytes allowed in the publish queue to the [[missionserver]]. Default is {{ms|DB_MISSIONSERVER_MAX_SENDQUEUE_SIZE_DEFAULT}} (500000).}}<br />
{{CLArg|GoingRogueNagAndPurchase <1/0>|Show the nag dialogs and buy button for Going Rogue.}}<br />
{{CLArg|KarmaEventHistoryDays <1/0>|How many days of past karma event history to read on load. Default is 30.}}<br />
{{CLArg|DebugSendPlayersDelayMS <n>|When sending the list of characters to a client, delay the SQL query by this many milliseconds.}}<br />
}}<br />
<br />
=== Deprecated ===<br />
{{CommandLineTable|<br />
{{CLArg|AuthRequestGameData|Deprecated.}}<br />
{{CLArg|AllowGR|Deprecated.}}<br />
{{CLArg|AllowGREndgame|Deprecated.}}<br />
{{CLArg|AllowIssue20|Deprecated.}}<br />
{{CLArg|AllowPraetorians|Deprecated.}}<br />
{{CLArg|PraetoriaZonesLocked|Deprecated.}}<br />
}}<br />
<br />
== Example ==<br />
<nowiki>DBServer 127.0.0.1<br />
ShardName SCRUBBED<br />
UseFakeAuth 1<br />
#AuthServer 127.0.0.1<br />
DefaultAccessLevel 255<br />
NoStats 1<br />
<br />
LocalIP 127.0.0.1<br />
MaxPlayers 300<br />
AssertMode Fulldump<br />
UseQueueServer 0<br />
UseLogServer 0<br />
OverrideAuthBit RogueAccess<br />
ChatServer 127.0.0.1<br />
KarmaEventHistoryDays 30<br />
MapserverIdleUpkeep 20<br />
MapserverIdleExit 20<br />
FastStart 1<br />
MaxPlayerSlots 1000<br />
MaxDualSlots 1000<br />
AuctionInvMaxLastLoginDays 1000<br />
<br />
// BeaconMasterServer 192.168.0.1<br />
RequestBeaconServerCount 0<br />
BeaconRequestCacheDir "c:\beaconrequestcache"<br />
DoNotLaunchBeaconClients 1<br />
DoNotLaunchMapserverTSRs 0<br />
<br />
AuthnameLimiterEnabled 0<br />
AuthnameLimiterAccessLevel 20<br />
<br />
SetLogLevel "Auction" -2<br />
SetLogLevel "Chat" 1<br />
SetLogLevel "Admin" -2<br />
SetLogLevel "Bug" -2<br />
SetLogLevel "CharSlotApply" -2<br />
SetLogLevel "Debug" -2<br />
SetLogLevel "Delete" -2<br />
SetLogLevel "deletion" -2<br />
SetLogLevel "entity" -2<br />
SetLogLevel "Error" -2<br />
SetLogLevel "cheaters" -2<br />
SetLogLevel "MARTY" -2<br />
SetLogLevel "Offline" -2<br />
SetLogLevel "Powers" -2<br />
SetLogLevel "Rewards" -2<br />
SetLogLevel "SuperGroup" -2<br />
SetLogLevel "SystemSpecs" -2<br />
SetLogLevel "sze_rewards" -2<br />
SetLogLevel "turnstile" -2<br />
SetLogLevel "cmds" -2<br />
SetLogLevel "internalcmds" 1<br />
<br />
SqlDbProvider mssql<br />
SqlDbName coh<br />
SqlAllowDDL 1<br />
SqlLogin "Driver={SQL Server Native Client 11.0};server=localhost;database=coh;trusted_connection=Yes;"<br />
SqlInit 1</nowiki></div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Main_Page&diff=1099Main Page2019-05-23T18:05:44Z<p>Bevinsky: </p>
<hr />
<div>{{Alert|Note: OuroDev is purely a not-for-profit, volunteer group. Anyone asking for donations on behalf of OuroDev or any of its contributors does not represent the group and should be ignored.}}<br />
<br />
{| style="width:100%; background:#2a2a2a; margin-top: 0.6em; border:1px solid #a2a9b1; padding: 0 4% 0 8%;"<br />
| style="width:65%;" |<br />
<br />
{| style="border:none; background:none;"<br />
| style="text-align:center; white-space:nowrap;" |<br />
<div style="font-size:162%; border:none; padding:.1em;">Welcome to OuroWiki,</div><br />
<div style="top:+0.2em; font-size:95%;">the Project Ouroboros Development wiki.</div><br />
<div id="articlecount" style="width:100%; text-align:center; font-size:85%;">We are hosting [[Special:AllPages|{{NUMBEROFPAGES}}]] pages.</div><br />
<div id="visionstatement" style="width:100%; text-align:center; font-size: 85%>Please read our [[OuroDev_Volume_2_Vision|Vision Statement]].</div><br />
|}<br />
<!--<br />
| style="width:40%; font-size:85%; padding:0.6em; padding-right:5%" |<br />
The '''Ouroboros''' Project is an ongoing volunteer effort. Please read our [[OuroDev_Volume_2_Vision|Vision Statement]].<br />
--><br />
| style="width:35%; white-space:nowrap;" |<br />
: [[File:Gitea.png|30px|link=https://git.ourodev.com/CoX/Source]] <span style="font-size:120%">[https://git.ourodev.com/CoX/Source Gitea]</span><br />
: [[File:Mantis.png|30px|link=https://bugs.ourodev.com/]] <span style="font-size:120%">[https://bugs.ourodev.com/ Mantis]</span><br />
: [[File:Discord.png|30px|link=OuroDev Discord]] <span style="font-size:120%">[[OuroDev Discord|Discord]]</span><br />
: [[File:PortalCorps.png|30px|link=https://corps.ouro-comdev.com]] <span style="font-size:120%">[https://corps.ouro-comdev.com/ Portal Corps]</span> <span style="font-size:85%">(Content Creation)</span><br />
|}<br />
<br />
{| style="width:100%; margin-top: 0.6em"<br />
| style="width:75%;vertical-align:top;padding-right:0.6em" |<br />
{| style="width:100%; background:#2a2a2a; border:1px solid #a2a9b1; padding:0.6em; vertical-align:top"<br />
| style="width:100%" colspan=4 |<br />
<h2 style="padding-top:0;margin-top:0">[[How It Fits Together|Server Architecture]]</h2><br />
|-<br />
| style="width:25%; vertical-align:top" |<br />
<h3 style="padding-top:0;margin-top:0"> Assets </h3><br />
* [[Server directory structure|Directory structure]]<br />
* [[Piggs]] and [[Hoggs]]<br />
==== Binary assets ====<br />
* [[BCN maps]]<br />
==== Textual assets ====<br />
* [[maps.db]] ''configuration?''<br />
* [[script.loc]]<br />
* [[SpawnArea]]<br />
* [[Templates]]<br />
<br />
| style="width:25%; vertical-align:top" |<br />
<h3 style="padding-top:0;margin-top:0"> Components </h3><br />
* [[dbserver]]<br />
* [[mapserver]]<br />
* [[launcher]]<br />
* [[chatserver]]<br />
* [[authserver]]<br />
* [[accountserver]]<br />
* [[arenaserver]]<br />
* [[missionserver]]<br />
* [[auctionserver]]<br />
* [[queueserver]]<br />
<br />
| style="width:25%; vertical-align:top" |<br />
<h3 style="padding-top:0;margin-top:0"> Configurations </h3><br />
* [[servers.cfg]]<br />
* [[loadBalance]]<br />
* [[turnstile_server.cfg]]<br />
* [[auction_server.cfg]]<br />
* [[account_server.cfg]]<br />
* [[chat_server.cfg]]<br />
* [[commands.cfg]]<br />
* [[weeklytf.cfg]]<br />
* [[version.ini]]<br />
* [[Other configurations]]<br />
<br />
| style="width:25%;vertical-align:top" |<br />
<h3 style="padding-top:0;margin-top:0"> Tools </h3><br />
* [[pig.exe]]<br />
* [[ServerMonitor]]<br />
* [[dbquery.exe]]<br />
<br />
=== Protocols ===<br />
* [[Network protocol]]<br />
==== Client-server protocols ''Does this need its own page?'' ====<br />
* [[Client-to-authserver]]<br />
* [[Client-to-dbserver]]<br />
* [[Client-to-mapserver]]<br />
==== Server protocols ====<br />
* [[Dbserver-protocols]]<br />
<br />
|}<br />
| style="width:25%;vertical-align:top" |<br />
{| style="width:100%; background:#2a2a2a; border:1px solid #a2a9b1; padding:0.6em; vertical-align:top"<br />
| style="width:100%" colspan=1 |<br />
<h2 style="padding-top:0;margin-top:0">[[Client Architecture]]</h2><br />
|-<br />
| style="width:100%;" |<br />
<h3 style="padding-top:0;margin-top:0"> TODO </h3><br />
* TODO<br />
|}<br />
<br />
|}<br />
<br />
{| style="width:100%; background:#2a2a2a; margin-top: 0.6em; border:1px solid #a2a9b1; text-align:center; font-size:130%"<br />
| style="width:50%" |<br />
[[i24 Server Setup|I want to help develop!]]<br />
| style="width:50%" |<br />
[[i25 Community Virtual Machines|I just want to run a server!]]<br />
|}<br />
<br />
{| style="width:100%; margin-top: 0.6em"<br />
| style="width:50%; background:#2a2a2a; border:1px solid #a2a9b1; padding:0.6em; vertical-align:top" |<br />
<br />
<h2 style="margin-top:0;padding-top:0">Issue 24</h2><br />
Issue 24 (stylized as i24) was the last publicly accessible version of the game before it was shut down. i24 was deployed on the test server, but had not yet been released to live servers.<br />
<br />
== OuroDev Volume 2 Development ==<br />
=== Details ===<br />
* [[OuroDev_Volume_2_Vision|OuroDev Volume 2 Vision]]<br />
* [[OuroDev_Volume_2_Roadmap|OuroDev Volume 2 Roadmap]]<br />
<br />
=== Workflow ===<br />
* [[OuroDev_Git_Workflow|OuroDev Git Workflow]] <br />
* [[OuroDev_issue_tracker_workflow| OuroDev Issue Tracker Workflow]]<br />
* [[OuroDev_QA_workflow|OuroDev QA Workflow]]<br />
<br />
=== Guidelines ===<br />
* [[OuroDev_Code_Style_Guide|OuroDev Code Style Guide]]<br />
* [[OuroDev_Bug_Report_Guidelines|OuroDev Bug report Guidelines]]<br />
<br />
=== Piglet ===<br />
* [[Piglet|Piglet]]<br />
<br />
=== Account Portal ===<br />
* [[Account_Portal|Account Portal]]<br />
<br />
== General i24 Development ==<br />
=== Guides ===<br />
* [[source locations|Where to get the source]]<br />
* [[i24_install_guide|Install guide for setting up i24]]<br />
* [[i24 Common Setup Issues]]<br />
* [[i24 Commands|i24 admin commands (in-game)]]<br />
* [[Server Configuration Values]]<br />
* [[Server Executable Flags]]<br />
* [[Using /mmm]] (in-game console)<br />
<br />
=== Documentation ===<br />
* [[system_architecture_image|System Architecture Image]]<br />
* [[map_server_overview|Map Server]]<br />
<br />
=== Tools Needed ===<br />
* An installation of Windows (verified working: 10 Pro, Server 2019 Standard)<br />
* [http://download.microsoft.com/download/D/B/C/DBC11267-9597-46FF-8377-E194A73970D6/vs_proweb.exe Visual Studio 2010 Professional] Web download<br />
* [https://www.microsoft.com/en-us/download/details.aspx?id=29062 Microsoft® SQL Server® 2012 Express]<br />
* [https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-2017 SQL Server Management Studio] (SMSS)<br />
<br />
=== Torrent links ===<br />
* [[Magnet Links]]<br />
<br />
=== Useful Future Links? ===<br />
* [https://cohrevival.com/codex/models.html Model Index]<br />
<br />
| style="width:50%; background:#2a2a2a; border:1px solid #a2a9b1; padding:0.6em; vertical-align:top" |<br />
<br />
<h2 style="margin-top:0;padding-top:0">[[i25 Main Page|Issue 25]]</h2><br />
Issue 25 (stylized as i25) was extended from an i24 base by SCoRE (Secret Cabal of Reverse Engineers) over the course of six years. It included additional content for i24 power sets, added the P2W Vendor, and fixed a good number of bugs.<br />
<br />
=== Client Setup Guide ===<br />
* [[i25 Client Setup]]<br />
<br />
=== Server Setup Guide ===<br />
* [[i25 Server Setup]]<br />
* [[i25 Multiple Server Setup]]<br />
* [[i25 Community Virtual Machines]]<br />
* [https://gofile.io/?c=w56I8R Video Guide from scratch]<br />
<br />
=== Commonly Asked Questions/Problems ===<br />
* [[i25 FAQ]]<br />
* [[i25 Command Lists]]<br />
<br />
=== Downloads and Community Tools ===<br />
* [[i25 Downloads]]<br />
* [[i25 Populate Auction Server]]<br />
<br />
=== Reference Documents ===<br />
* [https://drive.google.com/file/d/1eZqIZnhEYDoRAJeoCotyKhWZZG07mrft/view City of Heroes Document]<br />
* [[Cryptic Reference Document]]<br />
<br />
=== i25 Patch Notes ===<br />
* [https://docs.google.com/document/d/11cLJiSYlfueJheOumRywG8Evip2Mjmu_30Y6ePaetqY i25 Patch Notes]<br />
<br />
|}<br />
<br />
{| style="width:100%; background:#2a2a2a; margin-top: 0.6em; border:1px solid #a2a9b1; padding:0.6em; vertical-align: top"<br />
| style="width:100%; vertical-align:top" |<br />
<br />
== Quality of Life ==<br />
* [[VidiotMaps]] (suitable for use with either i24 or i25)<br />
* [[Account_Portal]] (A PHP application to allow users to create their own accounts and change their passwords.)<br />
<br />
|}<br />
<br />
__NOTOC__<br />
__NOEDITSECTION__<br />
<!-- Hide page title. For better results use an extension like NoTitle. --><br />
{{DISPLAYTITLE:<span style="position: absolute; clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px);">{{FULLPAGENAME}}</span>}}</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Main_Page&diff=1097Main Page2019-05-23T18:04:34Z<p>Bevinsky: </p>
<hr />
<div>{{Alert|Note: OuroDev is purely a not-for-profit, volunteer group. Anyone asking for donations on behalf of OuroDev or any of its contributors does not represent the group and should be ignored.}}<br />
<br />
{| style="width:100%; background:#2a2a2a; margin-top: 0.6em; border:1px solid #a2a9b1; padding: 0 4% 0 8%;"<br />
| style="width:65%;" |<br />
<br />
{| style="border:none; background:none;"<br />
| style="text-align:center; white-space:nowrap;" |<br />
<div style="font-size:162%; border:none; padding:.1em;">Welcome to OuroWiki,</div><br />
<div style="top:+0.2em; font-size:95%;">the Project Ouroboros Development wiki.</div><br />
<div id="articlecount" style="width:100%; text-align:center; font-size:85%;">We are hosting [[Special:AllPages|{{NUMBEROFPAGES}}]] pages.</div><br />
<div id="visionstatement" style="width:100%; text-align:center; font-size: 85%>Please read our [[OuroDev_Volume_2_Vision|Vision Statement]].</div><br />
|}<br />
<!--<br />
| style="width:40%; font-size:85%; padding:0.6em; padding-right:5%" |<br />
The '''Ouroboros''' Project is an ongoing volunteer effort. Please read our [[OuroDev_Volume_2_Vision|Vision Statement]].<br />
--><br />
| style="width:35%; white-space:nowrap;" |<br />
: [[File:Gitea.png|30px|link=https://git.ourodev.com/CoX/Source]] <span style="font-size:120%">[https://git.ourodev.com/CoX/Source Gitea]</span><br />
: [[File:Mantis.png|30px|link=https://bugs.ourodev.com/]] <span style="font-size:120%">[https://bugs.ourodev.com/ Mantis]</span><br />
: [[File:Discord.png|30px|link=OuroDev Discord]] <span style="font-size:120%">[[OuroDev Discord|Discord]]</span><br />
: [[File:PortalCorps.png|30px|link=https://corps.ouro-comdev.com]] <span style="font-size:120%">[https://corps.ouro-comdev.com/ Portal Corps]</span> <span style="font-size:85%">(Content Creation)</span><br />
|}<br />
<br />
{| style="width:100%; margin-top: 0.6em"<br />
| style="width:75%;vertical-align:top;padding-right:0.6em" |<br />
{| style="width:100%; background:#2a2a2a; border:1px solid #a2a9b1; padding:0.6em; vertical-align:top"<br />
| style="width:100%" colspan=4 |<br />
<h2 style="padding-top:0;margin-top:0">[[How It Fits Together|Server Architecture]]</h2><br />
|-<br />
| style="width:25%; vertical-align:top" |<br />
<h3 style="padding-top:0;margin-top:0"> Assets </h3><br />
* [[Server directory structure|Directory structure]]<br />
* [[Piggs]] and [[Hoggs]]<br />
==== Binary assets ====<br />
* [[BCN maps]]<br />
==== Textual assets ====<br />
* [[maps.db]] ''configuration?''<br />
* [[script.loc]]<br />
* [[SpawnArea]]<br />
* [[Templates]]<br />
<br />
| style="width:25%; vertical-align:top" |<br />
<h3 style="padding-top:0;margin-top:0"> Components </h3><br />
* [[dbserver]]<br />
* [[mapserver]]<br />
* [[launcher]]<br />
* [[chatserver]]<br />
* [[authserver]]<br />
* [[accountserver]]<br />
* [[arenaserver]]<br />
* [[missionserver]]<br />
* [[auctionserver]]<br />
* [[queueserver]]<br />
<br />
| style="width:25%; vertical-align:top" |<br />
<h3 style="padding-top:0;margin-top:0"> Configurations </h3><br />
* [[servers.cfg]]<br />
* [[loadBalance]]<br />
* [[turnstile_server.cfg]]<br />
* [[auction_server.cfg]]<br />
* [[account_server.cfg]]<br />
* [[chat_server.cfg]]<br />
* [[commands.cfg]]<br />
* [[weeklytf.cfg]]<br />
* [[version.ini]]<br />
* [[Other configurations]]<br />
<br />
| style="width:25%;vertical-align:top" |<br />
<h3 style="padding-top:0;margin-top:0"> Tools </h3><br />
* [[pig.exe]]<br />
* [[ServerMonitor]]<br />
* [[dbquery.exe]]<br />
<br />
=== Protocols ===<br />
* [[Network protocol]]<br />
==== Client-server protocols ''Does this need its own page?'' ====<br />
* [[Client-to-authserver]]<br />
* [[Client-to-dbserver]]<br />
* [[Client-to-mapserver]]<br />
==== Server protocols ====<br />
* [[Dbserver-protocols]]<br />
<br />
|}<br />
| style="width:25%;vertical-align:top" |<br />
{| style="width:100%; background:#2a2a2a; border:1px solid #a2a9b1; padding:0.6em; vertical-align:top"<br />
| style="width:100%" colspan=1 |<br />
<h2 style="padding-top:0;margin-top:0">[[Client Architecture]]</h2><br />
|-<br />
| style="width:100%;" |<br />
<h3 style="padding-top:0;margin-top:0"> TODO </h3><br />
* TODO<br />
|}<br />
<br />
|}<br />
<br />
{| style="width:100%; background:#2a2a2a; margin-top: 0.6em; border:1px solid #a2a9b1; text-align:center; font-size:130%"<br />
| style="width:50%" |<br />
[[i24 install guide|I want to help develop!]]<br />
| style="width:50%" |<br />
[[i25 Community Virtual Machines|I just want to run a server!]]<br />
|}<br />
<br />
{| style="width:100%; margin-top: 0.6em"<br />
| style="width:50%; background:#2a2a2a; border:1px solid #a2a9b1; padding:0.6em; vertical-align:top" |<br />
<br />
<h2 style="margin-top:0;padding-top:0">Issue 24</h2><br />
Issue 24 (stylized as i24) was the last publicly accessible version of the game before it was shut down. i24 was deployed on the test server, but had not yet been released to live servers.<br />
<br />
== OuroDev Volume 2 Development ==<br />
=== Details ===<br />
* [[OuroDev_Volume_2_Vision|OuroDev Volume 2 Vision]]<br />
* [[OuroDev_Volume_2_Roadmap|OuroDev Volume 2 Roadmap]]<br />
<br />
=== Workflow ===<br />
* [[OuroDev_Git_Workflow|OuroDev Git Workflow]] <br />
* [[OuroDev_issue_tracker_workflow| OuroDev Issue Tracker Workflow]]<br />
* [[OuroDev_QA_workflow|OuroDev QA Workflow]]<br />
<br />
=== Guidelines ===<br />
* [[OuroDev_Code_Style_Guide|OuroDev Code Style Guide]]<br />
* [[OuroDev_Bug_Report_Guidelines|OuroDev Bug report Guidelines]]<br />
<br />
=== Piglet ===<br />
* [[Piglet|Piglet]]<br />
<br />
=== Account Portal ===<br />
* [[Account_Portal|Account Portal]]<br />
<br />
== General i24 Development ==<br />
=== Guides ===<br />
* [[source locations|Where to get the source]]<br />
* [[i24_install_guide|Install guide for setting up i24]]<br />
* [[i24 Common Setup Issues]]<br />
* [[i24 Commands|i24 admin commands (in-game)]]<br />
* [[Server Configuration Values]]<br />
* [[Server Executable Flags]]<br />
* [[Using /mmm]] (in-game console)<br />
<br />
=== Documentation ===<br />
* [[system_architecture_image|System Architecture Image]]<br />
* [[map_server_overview|Map Server]]<br />
<br />
=== Tools Needed ===<br />
* An installation of Windows (verified working: 10 Pro, Server 2019 Standard)<br />
* [http://download.microsoft.com/download/D/B/C/DBC11267-9597-46FF-8377-E194A73970D6/vs_proweb.exe Visual Studio 2010 Professional] Web download<br />
* [https://www.microsoft.com/en-us/download/details.aspx?id=29062 Microsoft® SQL Server® 2012 Express]<br />
* [https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-2017 SQL Server Management Studio] (SMSS)<br />
<br />
=== Torrent links ===<br />
* [[Magnet Links]]<br />
<br />
=== Useful Future Links? ===<br />
* [https://cohrevival.com/codex/models.html Model Index]<br />
<br />
| style="width:50%; background:#2a2a2a; border:1px solid #a2a9b1; padding:0.6em; vertical-align:top" |<br />
<br />
<h2 style="margin-top:0;padding-top:0">[[i25 Main Page|Issue 25]]</h2><br />
Issue 25 (stylized as i25) was extended from an i24 base by SCoRE (Secret Cabal of Reverse Engineers) over the course of six years. It included additional content for i24 power sets, added the P2W Vendor, and fixed a good number of bugs.<br />
<br />
=== Client Setup Guide ===<br />
* [[i25 Client Setup]]<br />
<br />
=== Server Setup Guide ===<br />
* [[i25 Server Setup]]<br />
* [[i25 Multiple Server Setup]]<br />
* [[i25 Community Virtual Machines]]<br />
* [https://gofile.io/?c=w56I8R Video Guide from scratch]<br />
<br />
=== Commonly Asked Questions/Problems ===<br />
* [[i25 FAQ]]<br />
* [[i25 Command Lists]]<br />
<br />
=== Downloads and Community Tools ===<br />
* [[i25 Downloads]]<br />
* [[i25 Populate Auction Server]]<br />
<br />
=== Reference Documents ===<br />
* [https://drive.google.com/file/d/1eZqIZnhEYDoRAJeoCotyKhWZZG07mrft/view City of Heroes Document]<br />
* [[Cryptic Reference Document]]<br />
<br />
=== i25 Patch Notes ===<br />
* [https://docs.google.com/document/d/11cLJiSYlfueJheOumRywG8Evip2Mjmu_30Y6ePaetqY i25 Patch Notes]<br />
<br />
|}<br />
<br />
{| style="width:100%; background:#2a2a2a; margin-top: 0.6em; border:1px solid #a2a9b1; padding:0.6em; vertical-align: top"<br />
| style="width:100%; vertical-align:top" |<br />
<br />
== Quality of Life ==<br />
* [[VidiotMaps]] (suitable for use with either i24 or i25)<br />
* [[Account_Portal]] (A PHP application to allow users to create their own accounts and change their passwords.)<br />
<br />
|}<br />
<br />
__NOTOC__<br />
__NOEDITSECTION__<br />
<!-- Hide page title. For better results use an extension like NoTitle. --><br />
{{DISPLAYTITLE:<span style="position: absolute; clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px);">{{FULLPAGENAME}}</span>}}</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Template:Alert&diff=1096Template:Alert2019-05-23T18:04:16Z<p>Bevinsky: Created page with "<includeonly>{| style="width:100%; background:#4a2a2a; margin-top: 0.6em; border:1px solid #a2a9b1; text-align:center; font-weight:bold" || {{{1}}} |}</includeonly><noinclude>..."</p>
<hr />
<div><includeonly>{| style="width:100%; background:#4a2a2a; margin-top: 0.6em; border:1px solid #a2a9b1; text-align:center; font-weight:bold"<br />
||<br />
{{{1}}}<br />
|}</includeonly><noinclude><br />
Template for making a small alert header.<br />
{{Alert|This is an alert.}}<br />
</noinclude></div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Admin_Commands_(in-game)&diff=1088Admin Commands (in-game)2019-05-22T22:30:28Z<p>Bevinsky: </p>
<hr />
<div>''TODO: Put these in a [https://www.mediawiki.org/wiki/Help:Sorting#Sorting_rows_of_a_table sortable table], sort them into categories and document their parameters and behavior better.''<br />
<br />
<br />
9 entsave save players, write mapname.txt, flush dbserver cache<br />
10 ent_corrupted Shows if the entity if marked as corrupted.<br />
10 ent_set_corrupted Sets the corrupted flag on an entity.<br />
9 ent_delete Deletes entity <entid> <charactername><br />
9 entgenload blarg<br />
9 beaconprocesstraffic Finds and connects traffic beacons.<br />
9 beaconprocessnpc Finds and connects NPC beacons.<br />
9 beaconreadfile Reloads the beacon file.<br />
9 beaconreadthisfile Load a specific beacon file.<br />
9 beaconwritefile Writes out the beacon file.<br />
9 beaconfix This fixes beacons that have had their wrapper group removed and various other problems. Runs automatically at load time<br />
9 beaconpathdebug Pathfinding debugging stuff.<br />
9 beaconresettemp Reset temporary beacon information (pathfinding optimization)<br />
9 beacongotocluster Goto a beacon cluster by index.<br />
9 beacongetvar Get a beacon debug var.<br />
9 beaconsetvar Set a beacon debug var.<br />
9 beaconcheckfile Tells whether or not the beacon file is up to date for this map.<br />
9 beaconrequest Requests a beacon file for the current map.<br />
9 beaconmasterserver Set the BeaconMasterServer to use for beacon requests.<br />
9 testnpcdta Test a guy in NPC.dta.<br />
9 testnpcs testnpcs <initial npc number> <spawn count><br />
Test npcs + villains from NPC.dta<br />
9 testgentypes Verify all referenced NPCs and Critters in the loaded SpawnArea defs are valid<br />
9 printent blarg<br />
9 netsteps set network update divisor. default is to send one net update every 8 server ticks. set to 1 to get 30 net updates/sec<br />
2 snotimeout sets the notimeout flag on all links initially<br />
9 serverbreak blarg<br />
9 server_error_sent_count the count of errors sent to admin clients.<br />
9 smalloc count how much memory the server has malloc'd and print to a log file<br />
9 heapinfo dump some heap info to the server console<br />
9 heaplog dump some heap info to log files<br />
9 returnall if this is a mission map, return all players to static map and exit<br />
9 sendmsg test send message blah blah<br />
9 crashnow blarg<br />
9 fatalerror Call FatalErrorf(), for testing purposes.<br />
9 sendpacket Sends a packet of X KB to the client<br />
9 showstatesvr blarg<br />
4 youSay set selected entity as debug entity on server, and have it say the given string<br />
4 youSayOnClick set selected entity as debug entity on server, and have it say the given string when clicked<br />
9 checkjfd blarg<br />
9 quickLoadAnims dev mode don't preload anims<br />
9 netfxdebugsvr blarg<br />
9 showHiddenEntities blarg<br />
9 reloadSeqsSvr development mode only reload sequencers and animations<br />
9 recordcoll blarg<br />
9 reloadpriority Reloads all priority list files.<br />
9 reloadaiconfig Reloads all AI config files.<br />
2 getentdebugmenu Gets the entity debug menu.<br />
2 mmm Gets the entity debug menu, aka the Magic Martin Menu.<br />
9 initmap Reinitialize the map<br />
9 playercount for testing entity generator code<br />
9 clearailog Clears the AI logs for all entities.<br />
9 entdebuginfo bit flags for debug info display<br />
0 runnerdebug Enable limited debugging for a possible critter run-away bug<br />
9 setdebugvar Set a debug var.<br />
9 getdebugvar Get a debug var.<br />
9 sendautotimers enable sending auto timers to your client<br />
9 setdebugentitysvr set the entity id that various things use as a server debug entity<br />
2 debugmenuflags bit flags for what options to show on debug menu.<br />
9 interpdatalevel level of extra interpolation data to send, higher is better.<br />
9 interpdataprecision number of bits of precision in interp data (4-8).<br />
9 ailog Sets the types of AI logging that is done.<br />
9 noai Disables AI, but not physics.<br />
9 noprocess Disables processing, but not AI.<br />
9 nokillcars Disables killing of cars that have no beacons<br />
9 skyFade1 manually override sky fading values<br />
9 skyFade2 manually override sky fading values<br />
9 skyFadeWeight manually override sky fading values<br />
9 cutSceneDebug Prints debug info about running cutscenes.<br />
9 doNotCompleteMission Do not let this mission be completed -- because it can be a pain to get there.<br />
9 resetperfinfo_server Resets all performance info.<br />
9 runperfinfo_server Runs performance info for this many ticks. Set to -1 to run forever.<br />
9 perfinfomaxstack_server Sets the depth of the performance monitor stack.<br />
9 perfinfosetbreak_server Set a breakpoint on a particular auto timer.<br />
9 perfinfo_time_all_ents Enables timing all entities individually.<br />
9 perfinfo_enable_ent_timer Enables timing an entity.<br />
9 perfinfo_disable_ent_timers Disable all entity timers.<br />
9 clientpacketlog Enable logging client packets.<br />
9 clientpacketlogpause Toggle pausing client packet log.<br />
9 processtimes Report current uptime, kernel time and user time in seconds.<br />
9 memorysizes Report current and peak working set and page file sizes in bytes.<br />
9 nofilechangecheck_server enables dynamic checking for file changes<br />
1 moveentitytome moves selected entity to my location<br />
4 entcontrol 'entcontrol 0 kill' to kill currently selected npc<br />
4 ec ec is abbreviation for entcontrol<br />
1 setpos move me to <x> <y> <z> on this map<br />
1 setpospyr move me to <x> <y> <z> on this map, set pyr<br />
2 mapmove move to <map id>. see maps.db for map ids<br />
2 mapmovespawn move to <mad id> and spawn marker <spawn_name><br />
9 shardjump move to shard <shard name>.<br />
10 nextplayer go to next player<br />
10 nextnpc go to next npc<br />
4 nextcritter go to next critter<br />
4 nextawakecritter go to next critter<br />
10 nextcar go to next car<br />
4 nextitem go to next item<br />
10 nextreset reset next counter<br />
9 nextseq go to next entity with the given sequencer name<br />
9 nextnpccluster go to next npc beacon cluster<br />
10 gotoent go to an entity by id.<br />
2 gotoentbyname go to first entity with matching name.<br />
11 dbquery there should be some more detailed docs for this command offline<br />
3 invincible <0/1> 1=invincible, 0=normal<br />
3 unstoppable <0/1> 1=unstoppable, 0=normal<br />
10 donottriggerspawns <0/1> 1=donottriggerspawns, 0=normal<br />
3 alwayshit <0/1> 1=always hit, 0=normal<br />
3 untargetable <0/1> 1=untargetable, 0=normal<br />
2 scmds print server commands containing <string><br />
9 scmdms Saves commands the need to be translated<br />
10 scmdusage print usage of server commands containing <string><br />
10 serverwho get npc/player counts for <mapserver id> use -1 to get total for all mapservers.<br />
10 supergroupwho get info on <supergroup><br />
10 teamupwho get info on <teamup><br />
10 raidwho get info on <raid><br />
10 levelingpactwho get info on <levelingpact><br />
0 pactwho get info on your leveling pact<br />
0 who get info on <player><br />
0 whoall Print who's on this map.<br />
3 status get status of <mapserver id>, use -1 to get all mapservers<br />
3 csr execute <command> as if you were <player> (e.g. "csr Joe levelupxp 10")<br />
10 csr_long execute <command> as if you were <player> and had <access_level> (e.g. "csr_long 3 1234 Joe levelupxp 10")<br />
4 csr_radius execute <command> as if csr for all players in specified radius (-1 for whole map)<br />
3 csr_offline execute <command> as if you were <player>, even if player is offline (e.g. "csr_offline Joe levelupxp 10")<br />
9 csr_offline_long execute <command> as if you were <player> and had <access_level>, even if player is offline (e.g. "csr_offline_long 3 1234 2345 levelupxp 10")<br />
10 tmsg send <teamup id> a <message><br />
9 silenceall <0/1> set to 1=global silence on, 0=normal<br />
4 silence ban <player> from general chat for <number of minutes><br />
10 banchat ban <player> from general chat for <number of days><br />
9 banchat_relay internal command used by /banchat and /silence<br />
9 svrsilentkick kick <player> without informing the game client<br />
4 svrkick kick <player> for <reason><br />
10 svrban ban <player> for <reason><br />
10 svrunban unban <player><br />
3 invisible <0/1> 1=invisible ,0=visible<br />
2 teleport Teleport the <player> to me<br />
2 mapmovepos Helper function for teleport, goto, contact, and door stuff<br />
2 mapmoveposandselectcontact Helper function for contact finder<br />
3 offlinemove CSR command for moving an offline player to a specific static map and position<br />
9 freeze Freeze <player> <0/1> so he can't move<br />
9 spawn The command spawns a specific type or group of Critters or NPCs.<br />
The syntax is: spawn <CritterName or NPCName or SpawnBindingName><br />
Any of the names attached to an NPC block or a Critter block in<br />
N:/game/data/SpawnArea/Global.txt can be used in place of CritterName or NPCName.<br />
9 spawnmob This command spawns a mob of random villain critters.<br />
The syntax is: spawnmob <number of villains> <min level> <max_level><br />
Only villains within the given level range will attempt to be spawned.<br />
10 spawnmany The command spawns a number of a specific type or group of Critters or NPCs.<br />
The syntax is: spawnmany <CritterName or NPCName or SpawnBindingName> <Count><br />
Any of the names attached to an NPC block or a Critter block in<br />
N:/game/data/SpawnArea/Global.txt can be used in place of CritterName or NPCName.<br />
10 spawnmanyvillains The command spawns a number of villains.<br />
The syntax is: spawnmanyvillains <VillainName> <Count><br />
10 spawnobjective This command spawns an objective model as it would be seen in a mission.<br />
The syntax is: spawnobjective <ModelName><br />
4 doppelgangertest spawns a dopplgange with keywords<br />
9 spawnmissionnpcs Spawn <n> random NPC's who will run around scared. They can spawn from any encounter location<br />
9 raoulcmd Raoul's personal command<br />
9 settest1 Set server test variable 1<br />
9 settest2 Set server test variable 2<br />
9 settest3 Set server test variable 3<br />
0 ignore Ignore Player<br />
0 gignore Ignore Player<br />
0 ignore_spammer Ignore As Spammer<br />
0 unignore Unignore User<br />
0 gunignore Unignore User<br />
0 ignorelist Displays a list of ignored users<br />
10 ignore_spammer_threshold set the number of ignores needed to auto-chatbanned someone to [int], 0 disables<br />
10 ignore_spammer_multiplier set the number of ignores generated by ignore_spammer to [int]<br />
10 ignore_spammer_duration set how long auto-chatbanned players are silenced to [int] seconds<br />
10 releaseplayer Frees controlled player character.<br />
9 enablecontrollog enable control log on a client for an amount of time.<br />
2 smapname get name of <map id><br />
2 maplist Displays a list of all static maps<br />
9 entgenmsg print debug messages when generating entities<br />
9 grpfindtest perform group find on all trays in the map<br />
9 validatespawns Enables collecting of bad (embedded in stuff) spawn points from encounters.<br />
9 nextbadspawn Goes to next bad spawn point.<br />
9 nextbadvolume Goes to next pair of intersecting material volumes.<br />
9 rescanbadvolume Rebuilds the list of overlapping volumes.<br />
3 nextspawn Goes to next active encounter.<br />
3 nextspawnpoint Goes to next encounter group.<br />
3 nextmissionspawn Goes to next spawn overridden by mission system.<br />
3 nextumissionspawn Goes to next unconquered spawn overridden by mission system.<br />
3 nextunconqueredmissionspawn Goes to next unconquered spawn overridden by mission system.<br />
9 encounterreset Reset all random encounter spawn points, or a specific one<br />
10 encounterdebug Turns encounter debugging on or off<br />
9 encounterreload Reload encounter spawn definitions<br />
2 encounterteamsize Force the encounter spawns to pretend you have a team size of X<br />
10 encounterspawn Spawn a specific encounter group (manual spawning groups only)<br />
2 encounterspawnclosest Spawn the closest encounter group to the player<br />
10 encounterignoregroups Causes the encounter system to ignore how encounters are grouped, -1 to return to default<br />
10 entityencounterspawn Respawn the encounter for specified entity id.<br />
10 encounteralwaysspawn Make all encounters go off instead of checking spawn probabilities (for testing)<br />
10 encountermem Show memory usage for the encounter system<br />
10 encounterneighborhoodlist List all encounters on map, broken down by neighborhood<br />
9 encounterprocessing Turn on or off all encounter processing<br />
9 encounterstat Show how many encounters are running<br />
9 encountertweak Change the encounter spawn numbers (dangerous)<br />
9 encounterpanicthreshold Change the encounter spawn numbers (dangerous)<br />
9 encountermode Change the encounter mode to city/mission<br />
9 encountercoverage Print what villains and what layouts this city zone has<br />
9 encounterminautostart Add a minimum for the autostart time (for debugging autostart spawns)<br />
9 critterlimits Change the min/max number of critters on map (0 for no limit)<br />
9 scriptdefstart Syntax: <ScriptDefPath> Starts any non-Location type scriptDef on the targeted entity<br />
9 scriptluastart Syntax: <Lua(Zone|Mission|Encounter|Entity)> <LuaPath> Starts a script running the given Lua file on the targeted entity<br />
9 scriptluastring Syntax: <Lua(Zone|Mission|Encounter|Entity)> <LuaString> Starts a script running the given Lua string on the targeted entity<br />
9 scriptluaexec Syntax: <ScriptId> <LuaString> Runs the given Lua string inside the specified script<br />
4 zonescriptstart Start a particular zone script<br />
4 zoneeventstart Start a particular zone event<br />
4 zoneeventstop Stop a particular zone event<br />
4 zoneeventsignal Send a named signal to a zone event<br />
4 shardeventstart Start a shard event<br />
4 shardeventstop Stops the running shard event<br />
4 shardeventsignal Send a named signal to the shard event<br />
9 scriptlocationprint Print a list of script locations on this map<br />
9 scriptlocationstart Starts a named script location<br />
9 scriptlocationstop Stops a named script location<br />
9 scriptlocationsignal Sends a signal to a named script location<br />
4 scriptdebugserver turns on script debugging for client<br />
0 scriptshowvars turns on showing script vars to client<br />
9 scriptsetvar turns on showing script vars to client<br />
4 scriptpause pauses the selected script<br />
0 scriptreset resets and restarts the script<br />
9 scriptstop stops the script<br />
0 scriptsignal signals the script<br />
9 scriptcombatlevel sets the exemplar/sidekick of everyone in the zone to this level + 1. Use 0 to unset.<br />
9 destroy test destroy world geometry<br />
11 omnipotent Gives character all powers someone of his class can have.<br />
9 defsreload Reload class, origin, and power defs. Warning: Will leak some memory.<br />
10 inspire Gives the player a specific inspiration.<br />
9 inspirex Gives the player a random inspiration.<br />
9 inspirearena Give the player a standard set of arena inspirations.<br />
10 boost Gives the player a specific enhancement.<br />
10 boostset Gives the player the full set of enhancements.<br />
9 boostx Gives the player a random enhancement. optional param is #combines<br />
9 boosts_setlevel Sets all slotted boosts to the given level.<br />
0 boost_convert Converts the specified boost into something else. <idx> <conversion set><br />
11 temppower Gives the player a specific temp power.<br />
11 temppower_revoke Removes specific temp power from a player.<br />
11 temppowerx Gives the player a random temp power.<br />
9 pvp_switch Sets your permanent PvP preference. (1 turns on, 0 turns off).<br />
9 pvp_active Sets your current PvP mode. (1 turns on, 0 turns off).<br />
9 pvp_logging enable/disable pvp logging [on/off]<br />
9 combatstatsreset Reset all combat stats.<br />
9 combatstatsdump Dump combat stats for individual ents to combat.log.<br />
9 combatstatsdump_player Dump combat stats for all player entities and pets to combat.log.<br />
9 combatstatsdump_agg Dump all aggregate combat stats for all powers used to combat.log.<br />
9 combatstatsdump_aggregate Dump all aggregate combat stats for all powers used to combat.log.<br />
9 teamcreate 5 = teamup, 6 = supergroup<br />
9 teamleave 5 = teamup, 6 = supergroup<br />
9 teamjoin 5 = teamup, 6 = supergroup<br />
9 smmonitor dump server memory usage<br />
9 smemchecknow does a server side _CrtMemCheck<br />
9 stringtablememdumpserver Dumps the mem usage of the string tables to the console<br />
9 stashtablememdumpserver Dumps the mem usage of the hash tables to the console<br />
10 storyarcprint print information on your story arc<br />
10 storyarcdetail more detailed information on your story arc<br />
9 storyarcreload reloads story arc scripts (contacts, missions, tasks); affects everyone on server<br />
9 sadialog sends the client a test storyarc complete dialog<br />
10 fixupstoryarcs clears any story arc episode issued tasks which have not been completed and are not in the player's tasklist<br />
9 contactdetail detailed info on the state of a given contact<br />
10 reward Give your entity a reward for defeating a villain of the specified level<br />
9 rewardreload Reload reward definitions<br />
9 rewardinfo Print reward debugging info in server console window<br />
9 rewarddefapply (internal command) rewarddefapply <db_id> <reward_def_name> <villain group> <level> <source><br />
9 rewardstory (internal command) rewardstory <db_id> <villain group> <level> <level adjust> <source> <storyarc> <reward_def_name><br />
9 rewarddebugtarget Aggregate rewards from killing the the current target X iterations<br />
9 getcontacttask get a specific task, specify contact and logical name<br />
9 gettask get a specific task, specify the logical name of task (a suitable contact will be randomly selected)<br />
9 gettaskqa get a specific task, specify the logical name of task (a suitable contact will be randomly selected) (Identical to '/gettask')<br />
9 getcontactstoryarc get a specific storyarc, specify contact and storyarc filenames<br />
9 getstoryarc get a specific storyarc, specify the logical name (a suitable contact will be randomly selected)<br />
9 getstoryarctask get a specific storyarc, specify the story arc and episode<br />
9 accepttask get issued a task, specify contact and whether you want a long one (1) or short (0)<br />
9 startmission Assign and teleport to a specific mission and map.<br />
Syntax: startmission <mission name> <mission map name><br />
If '*' is given for map name, a default map will be selected<br />
9 startstoryarcmission Assign and teleport to a specific mission and map.<br />
Syntax: startmission <arc name> <episode name> <map name><br />
If '*' is given for map name, a default map will be selected<br />
9 initmission Reinitializes the mission as if the player just entered.<br />
9 missionreseed Reseeds and initializes the mission as if the player just entered.<br />
2 exitmission jump out of mission map<br />
2 exitbase jump out of your base<br />
2 enterbase jump into your base<br />
2 enterbasebysgid jump into your base<br />
0 enter_base_from_passcode jump into a base using its passcode<br />
9 enterbaseexplicit jump to the specified base/raid/apt map<br />
9 returntobase return to your base from a raid<br />
9 apartment jump into your apartment<br />
9 missionkickme ask the mission to kick you from map (debug)<br />
9 missionunkickme ask the mission to stop kicking you from map (debug)<br />
9 resetpredict Reset my prediction vars.<br />
9 printcontrolqueue Print my control queue to the mapserver console.<br />
9 missionaddtime Debugging, adds time to your current mission<br />
9 rewardbonustime Relays that the player has been granted bonus time for a task <db_id> <task id> <task subid> <bonustime><br />
9 newspaperteamcompleteinternal Relays that a newspaper or broker task was completed<br />
9 taskteamcompleteinternal taskteamcompleteinternal <db_id> <task id> <task subid> <task cpos> <bPlayerCreated> <leveladjust> <level> <seed><br />
9 taskcompleteinternal (internal command) taskcompleteinternal <db_id> <task id> <task subid> <task cpos> <bPlayerCreated> <success><br />
9 taskadvancecomplete (internal command) taskadvancecomplete <db_id><br />
9 objectivecompleteinternal (internal command) objectivecompleteinternal <db_id> <task id> <task subid> <task cpos> <bPlayerCreated> <objective num> <success><br />
9 missionrequestshutdown (internal command) missionrequestshutdown <map_id> <owner_id> <task id> <task subid> <task cpos> <bPlayerCreated><br />
9 missionforceshutdown (internal command) missionforceshutdown <map_id> <owner_id> <task id> <task subid> <task cpos> <bPlayerCreated><br />
9 missionokshutdown (internal command) missionokshutdown<br />
9 missionchangeowner (internal command) missionchangeowner <owner_id> <task id> <task subid> <task cpos><br />
9 clueaddremoveinternal (internal command) clueaddremoveinternal <adding?> <db_id> <task id> <task subid> <clue name><br />
9 clueaddremove add or remove clue to the Xth task on your list - clueaddremove <task id> <cluename> <adding?><br />
9 missionreattachinternal (internal command) missionreattachinternal <db_id> <map_id><br />
9 missionkickplayerinternal (internal command) missionkickplayerinternal <db_id><br />
3 completemission complete the mission for your current map<br />
3 completetask complete the Xth task on your list<br />
10 completesgtask Complete the supergroup task<br />
10 failsgtask Fail your supergroup task<br />
10 failtask fail the Xth task on your list<br />
9 taskselectvalidate (internal command) taskselectvalidate <db_id> <task id> <task subid> <task cpos> <bPlayerCreated><br />
9 taskselectvalidateack (internal command) taskselectvalidateack <db_id> <task id> <task subid> <task cpos> <bPlayerCreated> <valid> <response dbid><br />
9 flashbackteamrequiresvalidate (internal command) flashbackteamrequiresvalidate <db_id> <filename><br />
9 flashbackteamrequiresvalidateack (internal command) flashbackteamrequiresvalidateack <db_id> <result><br />
9 taskstarttimer taskstarttimer <owner_id> <task id> <task subid> <timeoutvalue in seconds><br />
9 taskstartnofailtimer Starts the task timer in no-fail mode. If timeout value is -1, starts counting up from now. Timeout is in seconds.<br />
9 taskcleartimer Clears the task timer.<br />
9 showcutscene Shows the cutscene on the current mission<br />
9 taskforcecreate create a basic task force (no contacts)<br />
9 taskforcedestroy destroy your current task force<br />
9 taskforcemode set your task force mode to x<br />
9 taskforcejoin Add yourself to player's task force<br />
10 levelup_xp levelup_xp <level> Increases the character's level to the given level.<br />
10 levelup_wisdom levelup_wisdom <level> Increases the character's wisdom level to the given level.<br />
10 train Train command, 0 = power, 1 = skill<br />
9 spacketdebug turns on packet debugging from client<br />
9 slocale sets the server locale<br />
9 showallcontacts Show all available contacts.<br />
9 dataminecontacts Dump datamining info for contacts. 0 for mission counts, 1 for more detail.<br />
9 showmycontacts Show all contacts the player has.<br />
9 addcontact Add a single contact to the player, specify filename<br />
10 add_all_contacts Adds all contacts to the player. Used for testing and debugging only<br />
2 gotocontact Teleport immediately to the contact position, across mapservers<br />
9 gotoandselectcontact Teleport immediately to the contact position, across mapservers, then add the contact to your list and select it in the UI<br />
9 contactintroductions Show how the specified contact will do introductions<br />
9 contactintropeer Force the contact to introduce you to a peer<br />
9 contactintronext Force the contact to introduce you to the next level<br />
9 contactdialog Talk to the specified contact.<br />
10 validateContacts Validate all the contact data. Give error messages where appropriate.<br />
10 validateMyContacts Validate all the contact data. Give error messages where appropriate.<br />
10 sendMessageIfOnAlignmentMission Send a message to the specified db_id (tmp_int2) if I (tmp_int) am on an Alignment mission.<br />
10 printMessageOnAlignmentMission Pop up a message box telling me about the alignment mission that I can't earn points for.<br />
9 contactcell Talk to the specified contact on cell phone.<br />
9 contactgetall Resend all contact status info.<br />
9 contactcxp set your contact points<br />
9 taskgetall Resend all task status info.<br />
9 taskdetailpage Get detail on the given task<br />
9 uniquetaskinfo Show info on all unique tasks<br />
10 influence Set player influence to the given number.<br />
10 sg_influence Set player's supergroup influence to the given number.<br />
10 prestige Set player's supergroup prestige to the given number.<br />
9 experience Set player experience to the given number.<br />
9 xpdebt Set player experience debt to the given number.<br />
9 wisdom Set player wisdom to the given number.<br />
9 showdoors Prints a list of all doors<br />
9 showpnpcs Prints all the persistent npcs on this map<br />
9 showvisitlocations Prints all the visit locations on this map<br />
3 showmissioninfo Prints out mission info<br />
9 showmissiondoors Prints a list of all mission doors<br />
9 showmissiondoortypes Prints a list of the mission door types available in this zone<br />
9 showmissioncontact Shows the fake mission contact for all players (server-wide)<br />
9 storyinforeset Resets the player's StoryInfo structure<br />
9 storytogglecontact Toggles between the two starting contacts for villains(Burke/Kalinda)<br />
9 goingroguetipsreset Dismisses all tip contacts and resets all alignment point timers.<br />
9 pnpcreload Reloads all persistent NPCs from beacons and script files<br />
9 dooranimenter Find a nearby door and run the enter animation<br />
9 dooranimenterarena Act like you are heading into the arena<br />
9 dooranimexit Find a nearby door and run the exit animation<br />
9 dooranimexitarena Act like you are emerging onto an arena map<br />
9 famestringadd Add a string to your random fame table<br />
9 famestringping See if a nearby npc will say your random fame string<br />
0 emaildelete Delete message <message num><br />
0 emailsend Send message <player names> <subject> <body><br />
0 emailsendattachment Send message <player names> <subject> <body> <influence><br />
9 emailsystem Send message <system name> <subject> <body> <influence> <attachment> <delay><br />
9 xpscale Scales the amount of XP awarded.<br />
3 showobjectives Shows a list of objectives for the mission and their current status<br />
3 gotoobjective Takes the player to the specified objective<br />
3 nextobjective Takes the player to the next objective<br />
3 csr_assist Help the given player by autotargeting whatever he targets<br />
0 stuck Try to get unstuck.<br />
0 sync Try to resync.<br />
0 synch Try to resync.<br />
9 onmissionmap load the mapserver as if it were a mission map - for debugging<br />
10 missionmapstats print some stats about mission beacons on map<br />
10 missionmapstatstofile Save the stats about mission beacons on the map to a file.<br />
10 mapcheckstats checks if the current randomly generated map meets the missions.spec reqs<br />
10 mapstats_checkall Checks all maps against the missions.spec<br />
10 servermissioncontrol Request from the client for some info for Mission Control<br />
9 gotospawn jump to specified door location on current map - POPUP ERROR MESSAGE<br />
9 scanlog scans the dbserver log cache for the given terms<br />
9 net_profile Dumps statistics collected in net_profile.c<br />
9 nosharedmemory Disables shared memory<br />
9 server_profiling_memory Set the number of MB of memory to use for profiling<br />
9 server_profile Save a profile of the current frame for up to the specified number of frames<br />
9 server_profile_spikes Save profiles of any frame longer than the specified time in ms<br />
1 benpc Allows you to become a villain or npc<br />
1 beself Switches you to your normal model and costume<br />
0 afk Marks the player as Away From Keyboard (with given message)<br />
9 becritter Get the costume and powers of a villain of the given level.<br />
10 debug print out basic player info<br />
10 debug_detail print out detailed player info<br />
10 debug_tray print out a player's tray contents<br />
10 debug_spec print out a player's specializations<br />
2 goto move yourself to a player's map and location<br />
9 goto_internal helper function for /goto<br />
9 editmessage Sends an edit message to the client (for output in scripts/macros)<br />
2 gotomission Teleport to mission entrance. Will work across maps.<br />
9 testmission Get a specific task & teleports to mission door, if possible. (Combines 'gettaskqa' and 'gotomission')<br />
9 stats Shows a player's stats<br />
9 clearstats Clears a player's stats<br />
0 kiosk Pop up the kiosk info for the nearest kiosk. (Assuming you're close enough.)<br />
0 nojumprepeat Disable jump auto-repeat<br />
9 missionx Assign yourself a random mission of a compatible status level. (Level 1-5 == Status Level 1, 6-10 == 2, etc)<br />
9 missionxmap Assign yourself a random mission that requires transfer to an instance map. Also see 'missionx'.<br />
10 scget Give the user the specified souvenir clue<br />
10 scremove Remove the specified souvenir clue from user, for debugging only<br />
10 scapply (internal) Give souvenir clue to db_id<br />
9 debug_power show the power's enhancement results<br />
10 title_1 Set the character's first title<br />
10 title_2 Set the character's second title<br />
10 title_the Set the character's The setting<br />
3 title_special Set the character's special, free-form title<br />
10 title_expires When does the special title expire in hours.<br />
10 title_and_expires_special Set the character's special, free-form title and expiration duration<br />
2 csr_title_and_expires_special Set the character's special, free-form title and expiration duration<br />
10 fx_special Set the character's special costume FX<br />
10 fx_expires When does the special costume FX expire in hours.<br />
9 safe_player_count The count of players that causes the server to degrade itself.<br />
9 saccessviolation Cause the server to crash with an accessviolation<br />
9 delinkme delinks this map from dbserver.<br />
2 mapshutdown Move all players to another map and attempt to exit gracefully.<br />
11 emergencyshutdown Emergency shutdown command, attempts to save all current entities and shut down the map.<br />
2 showandtell Toggles show-and-tell mode for this map<br />
9 collrecord start recording collision queries.<br />
9 collrecordstop stop recording collision queries.<br />
9 nextdoor Cycle through doors on current map<br />
9 nextmissiondoor Cycle through all mission doors on current map.<br />
9 showtaskdoor Show all of the potential doors for a task.<br />
9 teamlogdump Dump the team log to the debug window<br />
9 teamlogecho Start echoing the team log to the server console<br />
9 trickortreat Set Trick-or-Treat mode<br />
9 s_timeoffsetsecs Seconds to offset the timing functions ON THE MAP from the real time (debug)<br />
9 s_timeoffset set the mapserver time offset with the format days:hours:minutes:seconds. If you want to set the offset to 2 hours, 3 minutes, you'd use s_timeoffset 0:2:3:0<br />
9 s_timedebug Get debug information on the timing offset ON THE MAP (debug)<br />
2 map_send_buffs Enables or disables sending buff data to all players on the mapserver. 2 = send buffs and numbers; 1 = do not send buff numbers; 0 = do not send buffs at all.<br />
2 timeset sets current time of day for all maps<br />
9 timesetall sets current time of day for all maps<br />
9 playermorph Changes a player into another common character.<br />
Specify the AT, Primary Power, Secondary Power, level.<br />
9 packageent Packages and saves the player into a local file so that the player can be that can be reloaded later.<br />
3 playerrename Changes a player's name.<br />
Specify the current name first, then the new name.<br />
9 set_player_rename_token Set this player's rename token state: 1 on 0 off<br />
9 unlock_character Remove the slot lock on a character<br />
9 adjust_server_slots Adjust the number of on a character<br />
3 playerrename_paid Changes a player's name (if they have a rename token).<br />
Specify the current name first, then the new name.<br />
9 playerrenamerelay Internal command (player_id, new_name, admin_id, allow_reserved)<br />
2 sgrename Changes a supergroup's name.<br />
Specify the name of a player in the supergroup, the old supergroup name, then the new name of the supergroup.<br />
9 sgrenamerelay Internal command (player_id, old_sg_name, new_sg_name, admin_id)<br />
9 arena_join Join an arena event<br />
9 arena_create Create a new named arena event<br />
9 arena_destroy Destroy an existing arena event<br />
9 arena_setside Set what side player is for this event<br />
9 arena_ready Set player ready state for an event<br />
9 arena_setmap Set the map for an event<br />
9 arena_camera Test command that turns the player into a camera<br />
9 arena_uncamera Test command that turns the player back from being a camera<br />
9 arena_enter Starts the event and enters this player<br />
9 arena_popup Pop up the event's create window<br />
9 arena_debug Show detail information for each event you belong to<br />
10 arena_player_stats Show arena stats (wins, losses, etc<br />
0 arena_list Open the arena list window no matter where you are. Opens the score window if you are in an Arena match.<br />
0 arena_score Open the arena score window if you are in an Arena match. Does nothing if you aren't in an Arena match.<br />
9 sgraid_length Set the time for the supergroup raid<br />
9 sgraid_size Set the time for the force field to respawn<br />
9 sgraid_challenge Challenge the given supergroup to the next available time slot<br />
9 sgraid_challenge_internal Challenge the given supergroup to the next available time slot<br />
9 sgraid_warp Test warping to an attacker location in a supergroup base<br />
9 sgraid_setvar Set any var on the raidserver<br />
9 sgraid_stat Look at what mapserver is getting for your raid stats<br />
9 sgraid_baseinfo Manually set raid size & mount availability, sgraid_baseinfo <raidsize> <openmount?><br />
0 sgraid_window Set your supergroup raid window <daybits> <hour><br />
3 csrbug_internal Internal command for processing /csrbug command<br />
3 powers_cashin Cashes in all enhancements a player has slotted and removes them from all powers. Keeps inventory enhancements.<br />
3 powers_reset Removes all of a player's powers and sets their primary and secondary power sets. Player can go to trainer and train back up to their level. ([primary set] [first power] [secondary set])<br />
10 powers_buypower_dev Developer version of powers_buypower. Buys a power for the character. ([category] [power set] [power])<br />
9 powers_revoke_dev Revoke specified power from the character. ([category] [power set] [power])<br />
9 powers_cancel_dev Cancel all effects of specified power from the character. ([ent id] [category.powerset.power])<br />
0 powers_cancel Cancel all effects of specified power from the character if power is cancelable and target is you or your pet. ([ent id] [category.powerset.power])<br />
10 autoenhance Place Standard enhancements in all slots<br />
10 autoenhanceIO Try to place IO's in all slots<br />
10 autoenhanceset Try to place Invention sets in all slots<br />
11 maxslots Get every slot possible<br />
9 powers_recalc Force all ents to recalc their power strengths<br />
9 setPowerDiminish enable/disable power diminishing [on/off]<br />
9 showPowerDiminish display current state of power diminishing<br />
9 showPowerTargetInfo Developer version of powers_buypower. Buys a power for the character. ([category] [power set] [power])<br />
10 powers_buypower Buys a power for the character. ([category] [power set] [power])<br />
9 powers_check Does a check on a player's powers and triesm to determine if they're sane. Suggest fixes if they aren't<br />
9 powers_info Lists all powers and the level they were bought at.<br />
9 powers_show Lists all powers and the level they were bought at.<br />
9 powers_info_build Lists all powers and the level they were bought at.<br />
9 powers_show_build Lists all powers and the level they were bought at.<br />
10 powers_set_level Sets the level the given power was bought at to the given value. [cat] [set] [pow] [level]<br />
10 power_set_level Sets the level the given power was bought at to the given value. [cat] [set] [pow] [level]<br />
10 influence_add Adds the given influence.<br />
10 cs_pactmember_inf_add Adds the given influence or infamy.<br />
9 pactmember_inf_add Adds the given influence or infamy.<br />
9 pactmember_experience_get <internal> adds player's full xp to a pact<br />
9 levelingpact_exit Adds the given experience and updates the level time of a member of a leveling pact even if the pact has already been dissolved.<br />
10 sg_influence_add Adds the given influence to player's supergroup.<br />
9 power_color_p1 Set Primary powerset first color.<br />
9 pcp1 Set Primary powerset first color.<br />
9 power_color_p2 Set Primary powerset second color.<br />
9 pcp2 Set Primary powerset second color.<br />
9 power_color_s1 Set Secondary powerset first color.<br />
9 pcs1 Set Secondary powerset first color.<br />
9 power_color_s2 Set Secondary powerset second color.<br />
9 pcs2 Set Secondary powerset second color.<br />
10 prestige_add Adds the given prestige to player's supergroup.<br />
10 experience_add Adds the given experience.<br />
10 xpdebt_remove Removes the given experience debt.<br />
10 wisdom_add Adds the given wisdom.<br />
10 reputation Sets your reputation.<br />
10 reputation_add Adds the given reputation.<br />
9 badge_show Lists the badges owned by the player.<br />
9 sgrp_badge_show Lists the badges owned by the player's supergroup.<br />
2 badges_show Lists the badges owned by the player. (synonym for badge_show)<br />
10 badge_show_all Lists all badges, with the badges owned by the player marked.<br />
10 badges_show_all Lists all badges, with the badges owned by the player marked. (synonym for badge_show_all)<br />
10 badge_add Gives the named badge to the player.<br />
10 badge_grant Gives the named badge to the player.<br />
10 badge_grant_bits set the badges owned by the player. a string of hex values: 0f13c....<br />
10 badge_show_bits show the badges owned by the player. a string of hex values: 0f13c....<br />
11 badge_add_all Gives all badges to the player.<br />
11 badge_grant_all Gives all badges to the player.<br />
10 badge_remove_all Removes all badges from the player.<br />
10 badge_revoke_all Removes all badges from the player.<br />
9 badge_remove Removes the named badge from the player.<br />
9 badge_revoke Removes the named badge from the player.<br />
10 badge_stat_show Show all of the basic stats tracked for badges for the player. Optional parameter shows stats with the given string in the stat name.<br />
2 badge_stats_show Show all of the basic stats tracked for badges for the player. Optional parameter shows stats with the given string in the stat name. (synonym of badge_stat_show)<br />
10 badge_stat_set Sets the given basic badge stat for the player.<br />
10 badge_stat_add Adds the given value to the given basic badge stat for the player.<br />
9 badge_stat_add_relay Adds the given value to the given basic badge stat for the player.<br />
10 Architect_Token_Grant Grant a mission server token to the player<br />
2 Architect_Slot_Grant Grant X publish slots to the player<br />
0 gfriend Add a player to your global friends list.<br />
0 gunfriend Remove a player from your global friends list.<br />
0 chan_invite Invite player or chat handle to a chat channel<br />
Syntax: chan_invite <CHANNEL NAME> <USER NAME><br />
0 ginvite Invite player or chat handle to a chat channel<br />
Syntax: ginvite <CHANNEL NAME> <USER NAME><br />
0 chan_invite_sg Invite your entire supergroup to a chat channel. Only leaders may use this command.<br />
You must specify the minimum rank to invite:<br />
0 - invite entire supergroup (members, captains and leaders)<br />
1 - invite captains and leaders only 2 - invite leaders only<br />
Syntax: chan_invite_sg <CHANNEL NAME> <RANK><br />
0 ginvite_sg Invite your entire supergroup to a chat channel. Only leaders may use this command.<br />
You must specify the minimum rank to invite:<br />
0 - invite entire supergroup (members, captains and leaders)<br />
1 - invite captains and leaders only 2 - invite leaders only<br />
Syntax: ginvite_sg <CHANNEL NAME> <RANK><br />
0 chan_send Send message to chat channel. You must be in the channel and have Send priviledges.<br />
(alias is "/send")<br />
Syntax: chan_send <CHANNEL NAME> <MESSAGE><br />
0 send Send message to chat channel. You must be in the channel and have Send priviledges<br />
Syntax: send <CHANNEL NAME> <MESSAGE><br />
0 gmotd View the global message again.<br />
0 get_global_name Gets the global name from character name.<br />
0 get_global_silent Gets the global name without reporting results to chat window<br />
0 gmail_claim Claim Attachments on a Global Email<br />
0 gmail_return Claim Attachments on a Global Email<br />
10 chan_kill Shutdown a chat channel<br />
3 handlerename Change a player's chat handle<br />
10 silenceall_channels Blocks everyone from channel chat<br />
10 unsilenceall_channels Restores channel chat<br />
9 chatserver_shutdown Broadcast message to all users and shutdown the Chatserver.<br />
9 sendall Send message to all players logged in to chatserver<br />
10 silence_handle Silence a handle from all channel chat.<br />
9 allow_change_handle_all Allow ALL players to change their Global Handle again.<br />
3 grant_handle_change Allow a player to change their Global Handle again.<br />
10 chan_members_mode Changes permissions for all members of a channel.<br />
Syntax: chan_members_mode <CHANNEL NAME> <OPTIONS...><br />
Valid Options:<br />
-join kicks user from channel<br />
+send / -send gives/removes user ability to send messages to channel<br />
+operator / -operator gives/removes operator status from another user in the channel<br />
10 global_remove_handle Removes the player from all global friends lists, ignore lists and channels.<br />
3 gethandle Displays a player's global chat handle<br />
9 chat_cmd_relay Internal command for inserting player's chat handle and exectuting a command.<br />
9 gethandle_relay Relay command to get a player's global chat handle<br />
10 check_mail_sent Allows GM to check a players gmails<br />
10 check_mail_recv Allows GM to check a players gmails<br />
10 bounce_mail_sent Allows GM to bounce a players gmails<br />
10 bounce_mail_recv Allows GM to bounce a players gmails<br />
10 check_mail_pending Show pending gmails on this player.<br />
3 respec_grant Give a free respec<br />
10 respec_grant_token Modify and existing token<br />
10 respec_grant_counter increment available counter respecs by specified amount<br />
9 cape_grant unlock capes<br />
9 glow_grant unlock glow<br />
9 costumepart_grant grant a reward costume part<br />
10 respec_remove take away free respec<br />
10 respec_remove_token Modify and existing token<br />
10 respec_remove_counter decrement available counter respecs by specified amount<br />
10 cape_remove lock capes<br />
10 glow_remove lock glow<br />
10 costumepart_remove remove a reward costume part<br />
9 newScene new scene file<br />
10 costume_reset reset a players costume<br />
10 costume_add_tailor gives the player a free tailor session<br />
10 costume_add_tailor_per_slot gives the player a free tailor session for each owned costume slot<br />
10 costume_free_tailor sets the player's free tailor sessions<br />
10 costume_ultra_tailor Gives player tailor with ability to change gender/scale<br />
9 villain_list Print a list of all the villains on map<br />
9 goto_id Goto a villain ID<br />
3 goto_name Goto next villain with given name<br />
10 authkick Kick an authname: <name> <reason><br />
9 archvillain Goto the next archvillain<br />
10 listen Receive all chat going to a user<br />
9 viewattributes View the attributes of the player (while they are on same map)<br />
0 clearAttributeView Clear the attribute target<br />
9 auth_user_data_set Set auth user data values. See value names via /auth_user_data_show, also Raw[0-3] and OrRaw[0-3].<br />
9 auth_user_data_show Shows auth user data values.<br />
0 respec Go to respec screen if you have recieved a free holiday respec<br />
9 alwaysknockplayers Knock players every time they get hit.<br />
9 no_melee_prediction Disables server-side melee-target backwards-in-time position prediction.<br />
9 disableConsiderEnemyLevel Debug disables ai considering your level when deciding whether ot attack you.<br />
3 description_set Change a players description<br />
0 setdifficultylevel Set your level (no influence charge)<br />
0 setdifficultyteamsize Set your team size (no influence charge)<br />
0 setdifficultyav Set your AV spawning (no influence charge). 1 to make AV's always appear, 0 for always EB<br />
0 setdifficultyboss Set your Boss downgrade (no influence charge). 1 to make bosses not downgrade when solo<br />
0 getarenastats Get your arena stats.<br />
0 get_rated_arena_stats Get your arena stats.<br />
0 get_all_arena_stats Get your arena stats.<br />
10 rw_salvage Give your entity one of the specified salvage items<br />
9 rw_conceptitem Give your entity a conceptitem with given values:<br />
<name> <amount> <var0> <var1> <var2> <var3><br />
9 rw_conceptdef Give your entity a conceptdef with rolled values:<br />
<name><br />
10 rw_recipe Give your entity one of the specified recipe items<br />
9 rw_recipex give a bunch of recipes: testing only!!!<br />
10 rw_detail Give your entity one of the specified details<br />
9 rw_detailrecipe Give your entity one of the specified detailrecipe items, 1 if infinite<br />
10 rw_costume_slot Give character an additional costume slot<br />
10 check_costume_slots Prints out costume slot information<br />
9 rw_invention_all give every salvage<br />
9 clear_inv Clears all of your inventory<br />
10 rm_recipe Remove recipe from your inventory<br />
9 debug_expr Turns on or off combat expression debugging.<br />
0 servertime Print the current server time<br />
0 citytime Print the current city time<br />
9 fill_powerupslot Unlocks the skill system<br />
10 base_save Saves the current base<br />
9 base_teleport Teleport into your supergroups base, if possible<br />
11 base_destroy LAST RESORT. CLoses map and removes the base entirely.<br />
9 makepets Debug: makes the pets in your pet army<br />
9 nxs_init_world creates NovodeX world geometry data<br />
9 nxs_deinit_world deletes NovodeX world geometry data<br />
9 nxs_debug enables NovodeX debugging<br />
9 nxs_maxActorCount max total dynamic actors per instance<br />
9 rwtoken reward the named token to the player<br />
9 rwtokentoplayer reward the named token to the player with the specified db_id.<br />
9 rmtoken remove the named token from the player<br />
9 rmtokenfromplayer remove the named token from the player with the specified db_id.<br />
9 lstoken list tokens for the player<br />
9 lsactivetoken list active player tokens for the player's team<br />
9 lsphase list current phases seen by the player<br />
9 isvip returns whether the player is currently a VIP.<br />
9 map_rwtoken reward the named token to the map<br />
9 map_rmtoken remove the named token to the map<br />
9 map_lstoken list tokens for the map<br />
9 sgrp_rwtoken reward the named token to the player's supergroup<br />
9 sgrp_rmtoken remove the named token to the player's supergroup<br />
9 sgrp_lstoken list tokens in the player's supergroup<br />
9 sgrp_stat update supergroup stats sgrp_stat <stat name> amount<br />
0 show_petnames Displays the names of all your named pets<br />
0 clear_petnames Clear the names of all your named pets<br />
0 release_pets Release your current pets<br />
9 sgrp_badgestates set the stats for a supergroup. (used by statserver).<br />
9 serve_floater serves a floater up to a given entity.<br />
9 sgrp_badgeaawardnotify_relay <badgename><br />
3 salvage_names List internal and display names of all salvage<br />
3 salvage_list List all the salvage owned by character<br />
10 salvage_grant Adds the given salvage to character<br />
10 salvage_revoke Revokes the given salvage from character<br />
3 detail_categories List the names of all detail categories<br />
3 detail_names List the internal and display names of all details in an internal category<br />
3 detail_list List all the details owned by character<br />
10 detail_grant Adds the given detail to character<br />
10 detail_revoke Revokes the given detail from character<br />
3 sg_detail_names List the internal and display names of all special details<br />
3 sg_detail_list List all the special details owned by this supergroup<br />
10 sg_detail_grant Adds the given detail to the supergroup<br />
10 sg_detail_revoke Revokes the given detail with given creation time from supergroup<br />
3 sg_set_rank Sets the rank of this person directly (without checking for permission)<br />
9 sg_updatemember Flags a supergroup member for an update, regardless of which mapserver he/she is on<br />
9 sg_taskcomplete Flags a player to let them know that their SG has completed an SG mission, regardless of which mapserver he/she is on<br />
9 sgiop_grant <name> <duration> Debug: Grant player's SG Item of Power<br />
9 sgiop_revoke Debug: Revoke player's SG Item of Power<br />
9 sgiop_list Debug: Show list of player's SG Item of Power<br />
9 sgiop_grant_new Debug: Instruct the Raid Server to Grant SG #X a New, Random Item of Power ( 0 == My SG )<br />
9 sgiop_synch Debug: Instruct the SG #X To Synchronize its Items of Power with the Raidserver ( 0 == My SG )<br />
9 sgiop_transfer Unused: Instruct the Raid Server to transfer Item of Power from Sg 1 to Sg 2<br />
9 sgiop_update Unused: Instruct the Raid Server to tell this Super Group about all its Items of Power<br />
9 sgIopGameState Instruct the Raid Server Set the Item of Power Game State on this shard. <br />
Restart, CloseCathedral, or End, <br />
plus DebugAllowRaidsAndTrials and NoDebug<br />
9 showIopGame Show everything this server currently knows about the Item of POwer Game<br />
1 sg_grant_raid_points Grants points to current SG, <points> <isRaid><br />
1 sg_show_raid_points show current raid points<br />
0 sg_passcode Sets the Supergroup Base access passcode.<br />
0 sg_music Sets the Supergroup Base background music.<br />
9 imebug test ime bug<br />
3 sg_csr_join Allows a CSR to addthemselves to a SG<br />
9 baseaccess_froment_relay get the baseaccess for a given ent: <idEntRequesting> <base entry requested> <id ent><br />
9 baseaccess_response_relay get the baseaccess for a given ent: <'[idSgrp,baseAccess,base name ]+'> <idEnt>. can take multiple if separated by tabs<br />
9 sgrp_base_prestige_fixed clear the base prestige fixed flag<br />
1 sgrp_base_prestige_show show the amount of base prestige<br />
10 sgrp_base_prestige_set set the amount of base prestige<br />
10 storage_adj usage: <adj amount> <name item to adjust> <optional:level> adjust the named salvage by N for the currently selected detail<br />
10 storage_set usage: <set amount> <name item to adjust> <optional:level> set the named item to N for the currently selected detail<br />
10 offline_character usage: <db_id> or <char name>. Force a character to go offline, as if their account were inactive<br />
3 restore_deleted_char usage: <auth> <char name> <sequence-#> <MM/YYYY>. Restores character deleted during this time period.<br />
3 list_deleted_chars usage: <auth> <MM/YYYY> Lists characters in the deletion file for this user for this time period.<br />
9 editvillaincostume Edit critter costume by villain def name.<br />
9 editnpccostume Edit critter costume by costume def name.<br />
9 debug_powers Controls powers debugging<br />
10 backup_player Force a backup of a currently logged in player<br />
10 backup_search Get list of backups available for a player<br />
10 backup_view View indepth backup from current search<br />
10 backup_apply Apply selected backup, player must be off line<br />
10 backup_sg Force a backup of players supergroup<br />
10 backup_search_sg Get list of backups available for a supergroup<br />
10 backup_view_sg View in depth backup text from current search<br />
10 backup_apply_sg Apply selected backup, supergroup must be off line<br />
9 forcelogout Debug Kick<br />
9 playereval Run player eval<br />
9 combateval Run combat eval using my current target and the specified power.<br />
2 complete_stuck_mission completes the current mission. arg for complete successfully/failed. for use only when stuck. you get one use per week.<br />
9 auc_trust_gameclient use in conjunction with cmd auc_SellAndBuyAll to hammer the auction house<br />
10 acc_unlock USE ACC_ACCOUNTINFO FIRST! Make sure all orders have succeeded or failed!<br />
remove account server lock, use with csroffline<br />
9 dump_storyarcinfo USE ACC_ACCOUNTINFO FIRST! Make sure all orders have succeeded or failed!<br />
test the csv printing code<br />
10 account_grant_charslot grants <int> more character slots for current account<br />
10 account_certification_buy buys a <0=cert/1=voucher> <count> <description><br />
0 account_certification_claim claims certification<br />
0 account_certification_refund refunds the price of certification to player<br />
10 account_certification_delete hides certification from player (adds to delete count)<br />
10 account_certification_erase removes certification from player inventory (for debugging)<br />
3 account_certification_show displays all certification records in player inventory (for debugging)<br />
10 account_certification_delete_all removes all certification records from player inventory (for debugging)<br />
9 account_certification_test Four digit number: thousands place: 0 -> message is dropped, 1 -> message failed and respond. Hundreds place: 0 -> only affect the next message, 1 -> affect all messages until /account_certification_test is run again to clear the setting. Tens/ones: index to denote where in the certification process to fail. Currently used values are 1 through 8.<br />
3 account_inventory_list list the account inventory for current account<br />
9 account_inventory_change modifies account item <product> by <delta><br />
10 account_loyalty_refund refunds loyalty reward <name> for current account<br />
10 account_loyalty_earned adds <amount> to earned loyalty points for current account<br />
3 account_loyalty_show displays the state of the loyalty rewards for the current account<br />
10 account_loyalty_reset resets all loyalty rewards for current account<br />
9 relay_conprintf Relays conprintf commands<br />
9 unspamme Unbans and removes spam flags from this player<br />
0 select_build Select current build<br />
1 architect_userinfo Print architect user info<br />
1 architect_otheruserinfo Print architect user info about player <authname> <region><br />
1 architect_useridinfo Print architect user info<br />
9 relay_architect_join send message to teammate to put him on the taskforce<br />
0 architect_claim_tickets Claim architect tickets earned from authored story arcs<br />
2 architect_grant_tickets Grant architect tickets to an account.<br />
9 architect_grant_overflow_tickets Grant architect overflow tickets to an account.<br />
2 architect_set_best_arc_stars Set maximum stars earned from any arc.<br />
2 architect_csr_get_arc Get the arc with the given ID and save it to local disc.<br />
9 dayjob Add <seconds> to day job.<br />
2 dbflags show DbFlags status<br />
2 dbflags_show show DbFlags status<br />
2 dbflag_show show DbFlags status<br />
10 dbflag_set set DbFlag <name> to <value><br />
0 architect_invisible Toggle invisibility on an architect test mode map<br />
0 architect_invincible Toggle invincibility on an architect test mode map<br />
0 architect_completemisison Complete the current mission in Architect Test Mode<br />
0 architect_nextobjective Go to next object on an architect test mode map<br />
0 architect_nextcritter Go to the next critter on an architect test mode map<br />
0 architect_killtarget kill the currently selected target on an architect test mode map<br />
0 architect_loginupdate Report how many architect tickets are waiting to be claimed<br />
1 rogue_stats Get current going-rogue-relevant stats<br />
1 roguepoints_add_paragon Add a paragon point (roguepoints_paragon reward token)<br />
1 roguepoints_add_hero Add a hero point (roguepoints_hero reward token)<br />
1 roguepoints_add_vigilante Add a vigilante point (roguepoints_vigilante reward token)<br />
1 roguepoints_add_rogue Add a rogue point (roguepoints_rogue reward token)<br />
1 roguepoints_add_villain Add a villain point (roguepoints_villain reward token)<br />
1 roguepoints_add_tyrant Add a tyrant point (roguepoints_tyrant reward token)<br />
1 roguepoints_reset_paragon Reset paragon points to zero (roguepoints_paragon reward token)<br />
1 roguepoints_reset_hero Reset hero points to zero (roguepoints_hero reward token)<br />
1 roguepoints_reset_vigilante Reset vigilante points to zero (roguepoints_vigilante reward token)<br />
1 roguepoints_reset_rogue Reset rogue points to zero (roguepoints_rogue reward token)<br />
1 roguepoints_reset_villain Reset villain points to zero (roguepoints_villain reward token)<br />
1 roguepoints_reset_tyrant Reset tyrant points to zero (roguepoints_tyrant reward token)<br />
1 roguepoints_set_paragon Set paragon points to tmp_int (roguepoints_paragon reward token)<br />
1 roguepoints_set_hero Set hero points to tmp_int (roguepoints_hero reward token)<br />
1 roguepoints_set_vigilante Set vigilante points to tmp_int (roguepoints_vigilante reward token)<br />
1 roguepoints_set_rogue Set rogue points to tmp_int (roguepoints_rogue reward token)<br />
1 roguepoints_set_villain Set villain points to tmp_int (roguepoints_villain reward token)<br />
1 roguepoints_set_tyrant Set tyrant points to tmp_int (roguepoints_tyrant reward token)<br />
1 newalignment_switch_paragon Switch to paragon alignment, reset roguepoints<br />
1 newalignment_switch_hero Switch to hero alignment, reset roguepoints<br />
1 newalignment_switch_vigilante Switch to hero vigilante, reset roguepoints<br />
1 newalignment_switch_rogue Switch to rogue alignment, reset roguepoints<br />
1 newalignment_switch_villain Switch to villain alignment, reset roguepoints<br />
1 newalignment_switch_tyrant Switch to tyrant alignment, reset roguepoints<br />
1 alignment_tip_drop Drop a tip for the going rogue alignment system<br />
1 alignment_reset_timers Reset the timers that limit you to earning five alignment points per day<br />
1 alignment_reset_single_timer Reset a single timer that is limiting your alignment point earnings.<br />
1 tip_drop_designer Drop a designer tip specified.<br />
1 tip_drop_designer_show_all Show which tips can be dropped<br />
9 incarnateslot_activate Activates the named Incarnate slot if it is unlocked.<br />
9 incarnateslot_activate_all Activates all Incarnate slots that aren't locked.<br />
9 incarnateslot_deactivate Deactivates the named Incarnate slot.<br />
9 incarnateslot_deactivate_all Deactivates all Incarnate slots.<br />
9 incarnateslot_debugprint Outputs to chat whether the named Incarnate slot is locked or not.<br />
9 incarnateslot_debugprint_all Outputs to chat whether all Incarnate slots are locked or not.<br />
9 incarnateslot_reward_xp Rewards the player with Incarnate XP. [Type] [Count]<br />
9 power_disable Disables the given power. [cat] [set] [pow]<br />
9 power_enable Enables the given power. [cat] [set] [pow]<br />
9 power_debugprint_disabled Prints whether the given power is disabled or enabled. [cat] [set] [pow]<br />
9 incarnate_grant Grants the given Incarnate Ability, but does not slot that ability. [slot name] [abil name]<br />
9 incarnate_revoke Revokes the given Incarnate Ability. [slot name] [abil name]<br />
9 incarnate_grant_all Grants all Incarnate Abilities, but does not slot any of them.<br />
9 incarnate_revoke_all Revokes all Incarnate Abilities.<br />
9 incarnate_grant_all_by_slot Grants all Incarnate Abilities that fit into the given slot, but does not slot any of those abilities. [slot name]<br />
9 incarnate_revoke_all_by_slot Revokes all Incarnate Abilities that fit into the given slot. [slot name]<br />
9 incarnate_debugprint_has_in_inventory Prints whether you have the specified Incarnate Ability or not. [slot name] [abil name]<br />
0 incarnate_equip Equips the specified Incarnate Ability. Does nothing if you don't have it or its slot is locked. Also does nothing if you or your teammates are in combat, if the currently equipped IA is recharging, or if it's been less than five minutes since that slot was last equipped. [slot name] [abil name]<br />
0 incarnate_unequip Unequips the specified Incarnate Ability. Does nothing if you don't have it or its slot is locked. Also does nothing if you or your teammates are in combat, if the currently equipped IA is recharging, or if it's been less than five minutes since that slot was last equipped. [slot name] [abil name]<br />
0 incarnate_unequip_by_slot Unequips whatever ability is in the specified Incarnate slot. Does nothing if the slot is locked or empty. Also does nothing if you or your teammates are in combat, if the currently equipped IA is recharging, or if it's been less than five minutes since that slot was last equipped. [slot name]<br />
0 incarnate_unequip_all Unequips all equipped Incarnate Abilities.<br />
9 incarnate_force_equip Equips the specified Incarnate Ability. Does nothing if you don't have it or its slot is locked. Ignores other restrictions on equipping IAs. [slot name] [abil name]<br />
9 incarnate_force_unequip Unequips the specified Incarnate Ability. Does nothing if you don't have it or its slot is locked. Ignores other restrictions on equipping IAs. [slot name] [abil name]<br />
9 incarnate_force_unequip_by_slot Unequips whatever ability is in the specified Incarnate slot. Does nothing if the slot is locked or empty. Ignores other restrictions on equipping IAs. [slot name] [abil name]<br />
9 incarnate_debugprint_is_equipped Prints whether the specified Incarnate Ability is equipped or not. [slot name] [abil name]<br />
9 incarnate_debugprint_get_equipped Prints what ability is equipped in the specified Incarnate slot. [slot name]<br />
9 start_zone_event Load and start a zone event<br />
9 stop_zone_event Stop a zone event<br />
9 goto_stage Go to a particular stage in a zone event<br />
9 disable_zone_event Disable a zone event, to prevent it being started<br />
9 zone_event_kill_debug Toggle zone event debug info for kills<br />
9 turnstile_debug_set_map_info Debug command to set the map info for local mapserver<br />
9 turnstile_debug_get_map_info Debug command to get the map info for local mapserver<br />
9 zone_event_set_karma_mod Override karma modifier value<br />
9 set_combat_mod_shift Sets your CombatModShift to the specified value (0-6 is valid).<br />
9 goto_marker Go to a named script marker<br />
0 title_change players can now change their titles<br />
9 named_teleport Go to a named location (map.spawn) or special place (eg. "Ouroboros").<br />
9 fakeauc_add_salvage Pump salvage on AuctionServer for fake seller: <salvagename> <copies> <price><br />
9 fakeauc_add_recipe Pump recipe on AuctionServer for fake seller: <item> <copies> <price> <ingredients><br />
9 fakeauc_add_set Pump set on AuctionServer for fake seller: <setbase> <minlvl> <maxlvl> <copies> <price><br />
9 fakeauc_purge Purge AuctionServer of all fake sales<br />
9 lock_doors Lock/unlock all doors<br />
9 mempooldebug turns on mempool debugging<br />
9 tss_xfer_out Tell the turnstileserver to shard visitor xfer the character out<br />
9 tss_xfer_back Tell the turnstileserver to shard visitor xfer the character back<br />
9 group_hide Set the gameplay visibility state for a named world group. 1 to hide the group; 0 to unhide<br />
2 eventhistory_find Search for Karma event history rewards.<br />
9 autocommand_add Create an Auto Command that will be run at a specified number of days, hours, and minutes from now. Format: /autocommand_create "command_name param1 param2 ... paramN" days hours minutes<br />
9 autocommand_delete Delete the Auto Command specified by the ID parameter<br />
9 autocommand_showall Display all Auto Commands.<br />
9 autocommand_showbycommand Display all Auto Commands that run the specified command.<br />
9 autocommand_testrun Perform a test run on the AutoCommands system as though you just logged in now and the last time you logged in was at the specified time. Format: "MM/DD/YYYY HH:MM"<br />
9 weeklyTF_addToken Adds the token to the weekly TF token list<br />
9 weeklyTF_removeToken Removes the token from the weekly TF token list<br />
9 weeklyTF_setEpochTime Set the time when the epoch starts<br />
9 weeklyTF_db_updateTokenList DB relay command to update the weekly token list<br />
3 weeklyTF_printActiveTokens Prints the current weekly TF token list<br />
9 weeklyTF_printAllToken Prints the list of all available weekly TF tokens<br />
9 contactdebugoutputflowchartfile Creates the C:/contactFlowchartInfo.txt file that is used as input for the flowchart program.<br />
0 sethelperstatus Sets your helper status. 0 = off, 1 = help me!, 2 = mentor<br />
9 testlogging Prints out a log message for each logging level<br />
9 nx_server_PhysXDebug Connects server PhysX to physx visual debugger.<br />
4 setragdoll Sets the number of ragdolls allowed on this server<br />
9 accessiblecontactdebug_getfirst Resets your current accessible contact index to zero and then prints out what that contact is.<br />
9 accessiblecontactdebug_getnext Increases your current accessible contact index by one and then prints out what that contact is.<br />
9 accessiblecontactdebug_getprevious Decreases your current accessible contact index by one and then prints out what that contact is.<br />
9 accessiblecontactdebug_getcurrent Prints out what the currently accessible contact is.<br />
0 contactfinder_showcurrent Shows the current contact in the Contact Finder window.<br />
0 contactfinder_shownext Shows the next contact in the Contact Finder window.<br />
0 contactfinder_showprevious Shows the previous contact in the Contact Finder window.<br />
0 contactfinder_teleporttocurrent Teleports you to the contact currently detailed in the Contact Finder window. Only works if you have not yet been introduced to the contact.<br />
0 contactfinder_selectcurrent Selects the contact currently detailed in the Contact Finder window. Only works if you have already been introduced to the contact.<br />
0 debug_disableautodismiss Enables you to turn on and off auto-dismissal of contacts.<br />
9 get_MARTY_status get MARTY for current map<br />
9 set_MARTY_status Enable/disable MARTY for entire shard<br />
9 SetMARTYStatusRelay Enable/disable MARTY for server<br />
2 csr_clearMARTY clear MARTY history of <player><br />
2 csr_printMARTY print MARTY history of <player><br />
9 nokick sets the noKick flag on player<br />
9 idle_exit_timeout shutdown the server if it is idle for this many minutes, 0 means there is no idle exit timeout<br />
9 flashback_left_reward_apply Tell the specified player to reward himself FlashbackLeft from the specified story arc.<br />
9 debug_set_vip Sets the vip state on development shards.<br />
10 account_recover_unsaved Attempts force recovery of unsaved transactions.<br />
0 salvage_open Open a salvage. Takes a string parameter that is the internal name of the salvage to open. You must have that salvage in your inventory.<br />
3 support_home Show the support home page<br />
3 support_kb Show a support KB article<br />
9 show_lua_lib Show functions of a specific Lua Library<br />
9 show_lua_all Show functions of all Lua Libraries<br />
9 new_feature_open Opens the New Feature on the client <featureId> <br />
9 display_product_page Open a store product page on the client<br />
9 force_queue_for_events Force queue client for turnstile event, by internal event name.<br />
9 set_zmq_connect_state set_zmq_connect_state <0 or 1> - 0: disconnects ZMQ socket, stopping logserver from sending log messages to CoH Metrics system, 1: connects ZMQ socket.<br />
9 get_zmq_status get status of CoH Metrics system's ZeroMQ socket<br />
9 bin_map Write a single bin file for the current map<br />
9 time sets current time of day for this map<br />
2 timescale sets rate time passes<br />
9 timestepscale Runs simulation at this time scale.<br />
9 pause <0/1> pauses game logic on server<br />
9 disablegurneys allows player to resurrect in place<br />
9 nodynamiccollisions disables placing dynamic collisions<br />
9 noentcollisions disables entity-entity collisions<br />
9 pvpmap flags this map as pvp enabled<br />
9 svr_fog_dist Sets the fog on the server, overrides scene file<br />
9 svr_fog_color Sets the fog on the server, overrides scene file<br />
0 tell Send a message to only one player.<br />
0 t Send a message to only one player.<br />
0 ttl Send a message to the team leader.<br />
0 tll Send a message to the league leader.<br />
0 private Send a message to only one player.<br />
0 p Send a message to only one player.<br />
0 whisper Send a message to only one player.<br />
0 friendlist Display friend list.<br />
0 fl Display friend list.<br />
0 group Send message to group channel.<br />
0 g Send message to group channel.<br />
0 team Send message to group channel.<br />
0 yell Send message to entire map.<br />
0 y Send message to entire map.<br />
0 broadcast Send message to entire map.<br />
0 b Send message to entire map.<br />
0 r Reply to last person that sent you a tell.<br />
0 reply Reply to last person that sent you a tell.<br />
0 say Send message to your area.<br />
0 local Send message to your area.<br />
0 l Send message to your area.<br />
0 s Send message to your area.<br />
0 request Send message to request channel.<br />
0 req Send message to request channel.<br />
0 sell Send message to request channel.<br />
0 auction Send message to request channel.<br />
0 lookingforgroup Send message to Looking for Group channel.<br />
0 lfg Send message to Looking for Group channel.<br />
0 supergroup Send message to super group channel.<br />
0 sg Send message to super group channel.<br />
0 lp Send message to leveling pact channel.<br />
0 coalition Send message to coalition channel.<br />
0 c Send message to coalition channel.<br />
0 league_chat Send message to league channel.<br />
0 league Send message to league channel.<br />
0 lc Send message to league channel.<br />
2 a Admin chat command<br />
2 mapadmin Admin chat command to just current map<br />
0 ac Arena chat channel<br />
0 arena Arena chat channel<br />
0 ma Archiect chat channel<br />
0 mission_architect Archiect chat channel<br />
0 h Help/guide chat channel<br />
0 help Help/guide chat channel<br />
0 hc Help/guide chat channel<br />
0 helpchat Help/guide chat channel<br />
0 guide Help/guide chat channel<br />
9 sendchat Send chat message across mapservers.<br />
0 e Emotes a text string.<br />
0 me Emotes a text string.<br />
0 em Emotes a text string.<br />
0 emote Emotes a text string.<br />
0 cc_e Uses an emote to change costumes.<br />
0 cc_emote Uses an emote to change costumes.<br />
0 friend Add player to friend list.<br />
0 f Talk to friends channel.<br />
0 estrange Remove player from friend list.<br />
0 unfriend Remove player from friend list.<br />
9 debug_enable_levelingpack Enable leveling pacts<br />
0 levelingpact Invite player to join your leveling pact.<br />
10 levelingpact_add_no_xp Forcibly join two players in a leveling pact by name.<br />
10 levelingpact_add Forcibly join two players in a leveling pact by name.<br />
10 levelingpact_set_experience Set the total experience that a leveling pact shares.<br />
10 levelingpact_set_influence Set the total influence that a leveling pact shares.<br />
10 levelingpact_info Set the total influence that a leveling pact shares.<br />
0 invite Invite player to join team.<br />
0 i Invite player to join team.<br />
9 invite_long Invite player to join team<br />
9 team_accept_relay Asks a player to add himself (player_id, team_id, invited_by, inviter_pvp)<br />
9 team_accept_offer_relay Asks a player to add himself (player_id, team_id, invited_by, inviter_pvp, addEvenIfNotLeader)<br />
0 kick Kick player from team.<br />
0 k Kick player from team.<br />
9 team_kick_relay Asks player to kick himself (kicked_id, kicked_by)<br />
9 team_map_relay Asks player to send map update<br />
0 leaveTeam Leave your current team and league.<br />
9 team_quit_relay Relays a team_quit_internal command<br />
9 tf_quit_relay Relays a task force quit internal command - synonymous with team_quit_relay<br />
0 lfgtoggle Toggle looking for group status.<br />
0 lfgset Set looking for group status<br />
0 buffs Toggle team buff display.<br />
0 makeleader Change the team leader.<br />
0 ml Change the team leader.<br />
9 makeleader_relay Change the team leader.<br />
0 teamMoveToLeague Create a new league.<br />
0 tmtl Create a new league.<br />
0 sginvite Invite player to join supergroup.<br />
0 sgi Invite player to join supergroup.<br />
9 sginvite_long Invite player to join supergroup<br />
0 altinvite Joins a different character on your account to your supergroup.<br />
9 sg_accept_relay Asks a player to add themselves to supergroup (player_id, sg_id, inviter_id)<br />
9 sg_alt_relay Joins a player to a supergroup if they are on the same account as the inviter (player_id, sg_id, sg_type, inviter_id, inviter_authid)<br />
0 sg_kick_yes Kick player from supergroup.<br />
9 sg_kick_relay Kick player from join supergroup<br />
0 sgleave Leave your current supergroup.<br />
0 sgstats Display supergroup info in chat window.<br />
9 sgstatsrelay force given db_id to reload stats<br />
0 promote Promote supergroup member one rank.<br />
0 demote Demote supergroup member one rank.<br />
9 promote_long internal promote command<br />
9 csr_promote_long internal promote command<br />
9 sg_initiate internal initiate command<br />
9 sgcreate Create supergroup for development testing<br />
3 sgjoin join a supergroup for development testing and csr<br />
9 sgreg Simulate click on the supergroup registar<br />
0 nameLeader Renames the 'Leader' supergroup rank.<br />
0 nameOverlord Renames the 'Overlord' supergroup rank.<br />
0 nameCommander Renames the 'Commander' supergroup rank.<br />
0 nameRingleader Renames the 'Ringleader' supergroup rank.<br />
0 nameCaptain Renames the 'Captain' supergroup rank.<br />
0 nameTaskmaster Renames the 'TaskMaster' supergroup rank.<br />
0 nameLieutenant Renames the 'Lieutenant' supergroup rank.<br />
0 nameEnforcer Renames the 'Enforcer' supergroup rank.<br />
0 nameMember Renames the 'Member' supergroup rank.<br />
0 nameFlunky Renames the 'Flunky' supergroup rank.<br />
0 sgSetMOTD Sets supergroup MOTD.<br />
0 sgSetMotto Sets supergroup motto.<br />
0 sgSetDescription Sets supergroup description.<br />
0 sgSetDemoteTimeout Sets supergroup demote timeout.<br />
0 sgmode Toggle supergroup mode.<br />
0 sgmodeset Setsupergroup mode.<br />
0 sgwho see who is in a supergroup<br />
10 sgleader find leader of a supergroup.<br />
9 sgrefreshrelay force given db_id to reload supergroup<br />
10 sgrankname Change rank #<int> name to <str><br />
10 sgrankprint Print rank information<br />
0 coalition_invite Invite player's supergroup to join coalition.<br />
0 ci Invite player's supergroup to join coalition.<br />
0 coalition_cancel Cancel coalition with a supergroup.<br />
0 coalition_sg_mintalkrank Set the minimum rank of members of your Supergroup who can use coalition chat.<br />
0 coalition_mintalkrank Set the minimum rank of members of a coalition Supergroup who your Supergroup can hear.<br />
0 coalition_nosend Stop your Supergroup from sending coalition chat to an ally Supergroup.<br />
0 trade Invite player to trade.<br />
0 costume_change Change current costume.<br />
0 cc Change current costume.<br />
10 costume_add_slot Get another costume slot<br />
0 search Find a player.<br />
0 sea Find a player.<br />
0 findmember Find a player.<br />
0 get_comment Get search comment.<br />
0 comment Set search comment.<br />
0 arenainvite Invite player to join your arena event.<br />
0 ai Invite player to join your arena event.<br />
9 arenainvite_long Invite player to join arena event<br />
0 sgraid_invite Invite player's supergroup to an instant raid.<br />
0 raid_invite Invite player's supergroup to an instant raid.<br />
0 league_invite Invite player to join league.<br />
0 li Invite player to join league.<br />
9 leagueinvite_long Invite player to join league<br />
9 league_accept_relay Inviter relay<br />
9 league_accept_offer_relay Asks a player to add himself (player_id, team_id, invited_by, inviter_pvp)<br />
0 leaveLeague Leave your current team and league.<br />
9 leaveLeagueRelay Leave your current league.<br />
0 leagueWithdrawTeam Withdraw your team from current league.<br />
9 leagueWithdrawTeamRelay Withdraw your team from current league. Internal command version<br />
0 leagueToggleTeamLock Lock your team from league swap<br />
0 league_kick Kick player from league.<br />
0 lk Kick player from league.<br />
9 league_kick_relay Asks player to kick himself (kicked_id, kicked_by)<br />
9 league_map_relay Asks player to send map update<br />
0 league_make_leader Change the team leader.<br />
0 lml Change the team leader.<br />
0 league_teamswap Swap the teams of 2 players<br />
0 league_teammove Move selected player to selected team<br />
9 league_remove_accept_block Remove the league block<br />
9 turnstile_player_left_league Player has left league and the turnstile needs to know<br />
9 tut_invite Invite player to the leaders instance<br />
9 turnstile_invite_player_relay Relay invite player to the leaders instance<br />
0 turnstile_invite_player_accept Invite player to the leaders instance<br />
9 turnstile_invite_player_accept_relay Invite player to the leaders instance<br />
9 turnstile_join_specific_mission_instance Player is joining a specific mission instance<br />
0 clearRewardChoice Choose no item in your current reward choice<br />
0 tut_votekick Start a vote kick request<br />
0 tut_votekick_opinion Vote kick opinion</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=LoadBalance&diff=1070LoadBalance2019-05-21T22:18:33Z<p>Bevinsky: Created page with "{{DISPLAYTITLE:loadBalance}} loadBalance is the name for two configuration files, '''loadBalanceDefault.cfg''' and '''loadBalanceShardSpecific.cfg'''. These configuration file..."</p>
<hr />
<div>{{DISPLAYTITLE:loadBalance}}<br />
loadBalance is the name for two configuration files, '''loadBalanceDefault.cfg''' and '''loadBalanceShardSpecific.cfg'''. These configuration files control how the [[dbserver]] tries to balance workload amongst the various host machines made available to it through [[launcher]] connections.<br />
<br />
The dbserver uses these settings in conjunction with metrics on host utilization and status supplied by the launchers to make decisions on where to best launch server processes such as mission maps and static zones. The load balancing settings presented in these files should reflect the provisioning of the launcher host machine and its environment; e.g., network capacity, cpu cores, available virtual memory, disk speed etc.<br />
<br />
The primary goal of the load balancing is to insure survivability of the service and host stability. These settings, in conjunction with servers.cfg settings, can be used to setup an occupancy limits on host machine resources. When those limits are exceeded the service will stop using individual hosts and even enter a system wide overload protection mode. The secondary goal is to provide adequate Quality of Service (QoS) to the players by distributing load to make the service sufficiently responsive.<br />
<br />
A live environment consists of a pool of host machines that are shared by all the dbservers. Load balancing is more challenging in this scenario as an individual dbserver is unaware of the impact of the actions of the other dbservers until it receives new status updates from machines in the host pool. The quality of the status snapshot last received on a particular host degrades as the number of dbservers sharing that host increase and also during periods of high map launch rates.<br />
<br />
Thus, it is best for an individual dbserver working in this configuration to treat its knowledge of host status as imperfect and only an approximation. Load balancing strategies which employ some randomization can be used to improve balancing in this situation.<br />
<br />
== Load balancing modes ==<br />
A load balancing "mode" is set by selecting a balancing strategy and an associated heuristic for the strategy to use if applicable.<br />
<br />
It is useful to customize the load balancing strategy employed according to the type of role a new server process will play. Mission maps and bases are inherently transient and usually service a small number of players. On the other hand static map zone instances can persist indefinitely and can grow to service a large number of players.<br />
<br />
Supported strategies are:<br />
* {{ms|Sequential}} - balance by round robin assignment to the set of available launchers<br />
* {{ms|Random}} - balance by randomly choosing amongst available launchers<br />
* {{ms|RandomChoice <heuristic>}} - balance by randomly choosing a set of launchers and selecting the one with minimum heuristic<br />
* {{ms|Search <heuristic>}} - balance by walking the set of launchers and selecting the one with minimum heuristic<br />
<br />
Supported heuristics are:<br />
* {{ms|Utilization}} - a measure of host machine resource utilization (i.e., cpu, etc)<br />
* {{ms|TotalOccupancy}} - total hosted server count<br />
* {{ms|TypeOccupancy}} - total hosted server count of a given type (e.g., static or mission)<br />
<br />
== Directives ==<br />
The directives in both files are the same. The default file is mandatory; the shard specific file is not. Any directive given in the shard specific file will override the ones in the default file. Server roles from the default file will be appended to the shard specific one.<br />
<br />
{{CommandLineTable|<br />
{{CLArg|BalanceModeZone <strategy> [<heuristic>]|The load balancing mode for static maps.}}<br />
{{CLArg|BalanceModeMission <strategy> [<heuristic>]|The load balancing mode for mission and base maps.}}<br />
{{CLArg|MaxMapservers <n>|Maximum number of maps we allow to start on a given machine.<br />
<br />
Once this limit is reached the host will be suspended and no more launches will be permitted. The limit applies to the combined static and mission maps counts, including maps that are starting up. A value of zero disables this check.}}<br />
{{CLArg|MinAvailVirtualMemory <mb>|If the amount of virtual memory available to commit (in MB) on the host drops below this value the host will be suspended from launching. For system stability a generous amount of virtual memory should be available at all times.<br />
<br />
A value of zero disables this check.}}<br />
{{CLArg|MaxHostUtilization <n>|Maximum host utilization estimate allowed on a host before it is suspended from launching any more server processes.<br />
<br />
Individual launcher host utilization is calculated from host performance metrics and influenced by settings which follow. In general the goal is have a host load of 100 represent that the host is humming along at capacity doing 100% useful work. However, the host load can be such that it is actually overloaded and the host is spending resources paging and servicing too many processes. In this case the host utilization values will climb up over 100. Host utilization should generally be in the 0 - 200% range.<br />
<br />
A value of zero disables this form of capacity suspension.}}<br />
{{CLArg|PagingLoadLow <n>|The lower bound of a range of hard page faults per second that is used to map the current paging rate to a percentage which is then added to host utilization.<br />
<br />
This updates utilization when the system is busy paging instead of doing real work. Hard faults will generally occur as new maps load data and will increase significantly once physical memory is exhausted and there are active processes that need to have pages swapped into their working sets to operate.}}<br />
{{CLArg|PagingLoadHigh <n>|The upper bound of the hard page faults per second.}}<br />
{{CLArg|MinAvailPhysicalMemory <n>|If the amount of available physical memory (in MB) on the host drops below this threshold then the associated bias will be applied to the host utilization calculation. For example, a bias of .1 implies a 10% increase in host utilization.}}<br />
{{CLArg|MinAvailPhysicalMemoryBias <decimal>|The applied physical memory utilization bias.}}<br />
{{CLArg|StartingStaticMemBias <mb>|Amount of memory (in MB) we assume a static/zone map will take once it finishes starting. Good default is 600.}}<br />
{{CLArg|StartingStaticCPUBias <decimal>|Amount of CPU (1 {{=}} 100%) we assume a static/zone map will take once it finishes starting. Good default is 0.3.}}<br />
{{CLArg|StartingMissionMemBias <mb>|Amount of memory (in MB) we assume a mission map will take once it finishes starting. Good default is 150.}}<br />
{{CLArg|StartingMissionCPUBias <decimal>|Amount of CPU (1 {{=}} 100%) we assume a mission map will take once it finishes starting. Good default is 0.01.}}<br />
{{CLArg|SecondaryRoleBias <decimal>|Amount of CPU (1 {{=}} 100%) to bias a server by if considering it for it's secondary role. If a secondary machine has this many more CPUs available (1.00 {{=}} 1 CPU at 100% usage) then the secondary machine will be used instead.}}<br />
{{CLArg|StaticCPUBias <decimal>|How much CPU we add on for each static mapserver understanding that they will probably need it. This doesn't seem to be needed any more and can be 0.}}<br />
{{CLArg|TroubleSuspensionTime <n>|Amount of time (in seconds) a launcher is suspended if it has a large number of consecutive crashes and/or delinks. Launchers are also suspended if they stop responding, which gets cleared upon a dbserver restart. Good default is 1800.}}<br />
{{CLArg|ServerRole|<br />
TODO}}<br />
}}</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Dbquery.exe&diff=1069Dbquery.exe2019-05-21T21:59:04Z<p>Bevinsky: Reverted edits by Bevinsky (talk) to last revision by Aleena</p>
<hr />
<div>An application for sending commands to the DBServer. DBServer listens on port 6997 by default.<br />
<br />
Usage: bin\dbquery.exe ''[arguments]''<br />
<br />
__TOC__<br />
<br />
== Arguments ==<br />
{{CommandLineTable|<br />
{{CLArg|-charactertransfer|See characterTransfer.c for some hilarious surprises!}}<br />
{{CLArg|-cookie|}}<br />
{{CLArg|-db <host>|Specifies a remote host the DBServer is running on. Accepts DNS name or IP address. Default: localhost.}}<br />
{{CLArg|-dbquery <query>|Implies {{ms|-noencrypt}}, {{ms|-nopigs}} and {{ms|-silent}}. See list of [[Dbquery.exe\-dbquery_Arguments|arguments]].}}<br />
{{CLArg|-getcharacter "<name>"|Gets a character from the DBServer and outputs it to stdout. Implies {{ms|-noencrypt}}, {{ms|-nopigs}} and {{ms|-silent}}.}}<br />
{{CLArg|-nodebug|}}<br />
{{CLArg|-noencrypt|Do not use encryption}}<br />
{{CLArg|-nopigs|Don't load any pigg files; use only loose files on the filesystem when necessary.}}<br />
{{CLArg|-notimeout|}}<br />
{{CLArg|-packetdebug|}}<br />
{{CLArg|-putcharacter [file] &#124; < file|Puts a character into the database via DBServer. Implies {{ms|-noencrypt}}, {{ms|-nopigs}} and {{ms|-silent}}.}}<br />
{{CLArg|-querysgleaders <string>|Probably queries to display the list of super group leaders when the supergroup is loaded.}}<br />
{{CLArg|-restorecharacter <logfile>|Launches an interactive CLI to restore a character from the deleted characters log. Specifying the log is optional; you can do so within the interface.}}<br />
{{CLArg|-silent|Produces cleaner output}}<br />
{{CLArg|-tcp [number]|Specify TCP port when connecting to DBServer, default 6997}}<br />
{{CLArg|-templates|}}<br />
{{CLArg|-tsr2|}}<br />
{{CLArg|-tsr3|}}<br />
{{CLArg|-udp [number]|Specify UDP port when connecting to DBServer, default 6997}}<br />
{{CLArg|-verbose|}}<br />
}}<br />
<br />
== Sample Commands ==<br />
<br />
===Exporting and Importing a character===<br />
dbquery.exe -getcharacter "Name">file.txt<br />
dbquery.exe -putcharacter file.txt<br />
<br />
===Retrieving a character from a remote DBServer===<br />
dbquery -db 10.5.0.144 -getcharacter "Aleena"<br />
<br />
== DBQuery Entry Point ==<br />
https://git.ourodev.com/CoX/Source/src/branch/develop/MapServer/svr/dbquery_init.c</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Dbquery.exe&diff=1068Dbquery.exe2019-05-21T21:57:04Z<p>Bevinsky: </p>
<hr />
<div>An application for sending commands to the DBServer. DBServer listens on port 6997 by default.<br />
<br />
Usage: bin\dbquery.exe ''[arguments]''<br />
<br />
__TOC__<br />
<br />
== Arguments ==<br />
{{CommandLineTable|<br />
{{CLArg|-charactertransfer|See characterTransfer.c for some hilarious surprises!}}<br />
{{CLArg|-cookie|}}<br />
{{CLArg|-db <host>|Specifies a remote host the DBServer is running on. Accepts DNS name or IP address. Default: localhost.}}<br />
{{CLArg|-dbquery <query>|Implies {{ms|-noencrypt}}, {{ms|-nopigs}} and {{ms|-silent}}. See list of [[Dbquery.exe\-dbquery_Arguments|arguments]].}}<br />
{{CLArg|-getcharacter "<name>"|Gets a character from the DBServer and outputs it to stdout. Implies {{ms|-noencrypt}}, {{ms|-nopigs}} and {{ms|-silent}}.}}<br />
{{CLArg|-nodebug|}}<br />
{{CLArg|-noencrypt|Do not use encryption}}<br />
{{CLArg|-nopigs|Don't load any pigg files; use only loose files on the filesystem when necessary.}}<br />
{{CLArg|-notimeout|}}<br />
{{CLArg|-packetdebug|}}<br />
{{CLArg|-putcharacter [file]|Puts a character into the database via DBServer. Implies {{ms|-noencrypt}}, {{ms|-nopigs}} and {{ms|-silent}}.}}<br />
{{CLArg|-querysgleaders <string>|Probably queries to display the list of super group leaders when the supergroup is loaded.}}<br />
{{CLArg|-restorecharacter <logfile>|Launches an interactive CLI to restore a character from the deleted characters log. Specifying the log is optional; you can do so within the interface.}}<br />
{{CLArg|-silent|Produces cleaner output}}<br />
{{CLArg|-tcp [number]|Specify TCP port when connecting to DBServer, default 6997}}<br />
{{CLArg|-templates|}}<br />
{{CLArg|-tsr2|}}<br />
{{CLArg|-tsr3|}}<br />
{{CLArg|-udp [number]|Specify UDP port when connecting to DBServer, default 6997}}<br />
{{CLArg|-verbose|}}<br />
}}<br />
<br />
== Sample Commands ==<br />
<br />
===Exporting and Importing a character===<br />
dbquery.exe -getcharacter "Name">file.txt<br />
dbquery.exe -putcharacter file.txt<br />
<br />
===Retrieving a character from a remote DBServer===<br />
dbquery -db 10.5.0.144 -getcharacter "Aleena"<br />
<br />
== DBQuery Entry Point ==<br />
https://git.ourodev.com/CoX/Source/src/branch/develop/MapServer/svr/dbquery_init.c</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Version.ini&diff=1067Version.ini2019-05-21T21:13:32Z<p>Bevinsky: </p>
<hr />
<div>{{DISPLAYTITLE:version.ini}}<br />
version.ini is used to check that the client and server versions match. The game client and dbserver will both load it, and the client sends its version to dbserver as part of the login process. If the client does not have the expected version, dbserver will close the connection.<br />
<br />
If a version.ini file is not found, the registry will be checked instead, in key HKCU\SOFTWARE\Cryptic\CoH.<br />
The last part of the registry key can be changed:<br />
* dbserver uses the ClientProject entry in servers.cfg.<br />
* game client uses the -project command-line argument<br />
* mapserver uses the string "CoH Server"<br />
* testclient uses "CoH" if the -server command-line argument is "Training Room" and "CohTest" otherwise.<br />
<br />
The client and servers select which version to use as follows:<br />
* If the executable is not in the location identified by the "Installation Directory" value in the registry key, or that registry key does not exist, or piggs/text.pigg does not exist, then a dev version string is generated<br />
* Otherwise, if version.ini exists, then the Version= line is used from it<br />
* Otherwise, the CurrentVersion value is used from the registry key<br />
<br />
Example client content:<br />
<nowiki><br />
[Settings]<br />
Version=2400.201208211101.1</nowiki><br />
<br />
== dev versions ==<br />
<br />
If a dev version is used, it will be something like:<br />
dev: 2019-05-12 12:00:00<br />
using the timestamp of the executable. This used to have a perforce branch name on the end.<br />
<br />
When a dev version is used, some behaviour changes:<br />
* dbserver does not validate that client or launcher versions match<br />
* the game client will show fps by default</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Servers.cfg&diff=1066Servers.cfg2019-05-21T21:10:03Z<p>Bevinsky: </p>
<hr />
<div>{{DISPLAYTITLE:servers.cfg}}<br />
servers.cfg is the main configuration file for the [[dbserver]]. Other components load the file as well, including the [[launcher]], [[arenaserver]], [[raidserver]], and [[statserver]].<br />
<br />
The directives in the file are used to populate the global ServerCfg configuration. Directive names are also case-insensitive. Lines with a leading {{ms|#}} are ignored.<br />
<br />
== Configuration directives ==<br />
<br />
servers.cfg is a list of config options, one per line. If a config option is repeated, the last one in the file overrides all others. Each line has several words, separated by spaces or tabs. If there are extra words on the end of the line, they are ignored. Spaces can be included in a word by surrounding it with double quotes.<br />
<br />
Anywhere that DNS names are used, IP addresses can be used instead.<br />
<br />
=== General ===<br />
{{CommandLineTable|<br />
{{CLArg|DBServer <ip>|The DNS name of the dbserver. This is used by other components to determine where to connect.}}<br />
{{CLArg|DBServer<n> <ip>|Auxiliary dbservers. Launchers can connect to multiple dbservers; more servers are specified as {{ms|DBServer2}}, {{ms|DBServer3}}, etc.}}<br />
{{CLArg|ShardName <name>|The name of the shard this dbserver manages. This must match a shard name in turnstile_server.cfg.}}<br />
{{CLArg|LocalIp <ips...>|Local IP addresses. If an address matches the top two octets of any address specified here, the dbserver considers it local. ''What is this actually for?''}}<br />
{{CLArg|AdvertisedIp <ip>|Force mapservers to advertise this IP address to clients rather than what the mapserver wants. This is useful for NATed servers.<br />
<br />
''This really shouldn't be in servers.cfg. It belongs in individual launcher configurations instead.''}}<br />
{{CLArg|NoStats <1/0>|Disable the statserver; have the launcher send {{ms|-nostats}} to mapservers.}}<br />
{{CLArg|ChatServer <ip>|Set the IP address of the chatserver.}}<br />
{{CLArg|ClientCommands "<commands>"|A list of commands to be executed by the client upon connection. See [[Client-to-dbserver#DBGAMESERVER_SEND_PLAYERS]].}}<br />
{{CLArg|Locale <name>|The locale of the shard. This must either be a locale name or 0 (in which case English is chosen). Possible values are:<br />
: {{ms|en}}: English<br />
: {{ms|test}}: Test locale<br />
: {{ms|zh}}: Chinese<br />
: {{ms|ko}}: Korean<br />
: {{ms|ja}}: Japanese<br />
: {{ms|de}}: German<br />
: {{ms|fr}}: French<br />
: {{ms|es}}: Spanish<br />
}}<br />
{{CLArg|IsBetaShard <1/0>|Whether or not this shard is a beta shard. On beta shards, users can use the broken mission fix every 10 minutes, rather than every 3 days.}}<br />
{{CLArg|IsVIPShard <1/0>|Whether or not this shard is a VIP shard. Only accounts marked as VIP can log into this shard.}}<br />
{{CLArg|MARTYEnabled <1/0>|Enable/disable the MARTY anti-cheat.}}<br />
{{CLArg|ForceOverloadProtection <1/0>|Forces overload protection to be enabled.}}<br />
{{CLArg|OverloadProtection_LauncherHighWaterMarkPercent <decimal>|Launcher upper bound for overload protection. When the percentage of launchers that cannot launch a server rises above this percentage, engage overload protection.}}<br />
{{CLArg|OverloadProtection_LauncherLowWaterMarkPercent <decimal>|Launcher lower bound for overload protection. When the percentage of launchers that cannot launch a server drops below this percentage, disengage overload protection.}}<br />
{{CLArg|OverloadProtection_SQLQueueHighWaterMark <n>|SQL upper bound for overload protection. When the size of the SQL queue grows larger than this, engage overload protection.}}<br />
{{CLArg|OverloadProtection_SQLQueueLowWaterMark <n>|SQL lower bound for overload protection. When the size of the SQL queue drops below this, disengage overload protection.}}<br />
}}<br />
<br />
=== SQL ===<br />
{{CommandLineTable|<br />
{{CLArg|SqlDbProvider <prov>|The SQL database type. The supported configurations are {{ms|mssql}} and {{ms|postgresql}}, but only MSSQL is properly tested on i24.}}<br />
{{CLArg|SqlDbName <db>|The name of the dbserver database. Most common name is {{ms|cohdb}}.}}<br />
{{CLArg|SqlLogin <connstring>|The connection string for the database connection. Example:<br />
<pre>SqlLogin "DRIVER={SQL Server Native Client 11.0};Server=localhost\SQLEXPRESS;Uid=sa;Pwd=YourL33TPASS!;"<br />
</pre>}}<br />
{{CLArg|SqlInit <query>|An SQL query to initialize the dbserver database for the first time. If {{ms|SqlDbName}} is {{ms|cohdb}}, this could be:<br />
<pre>SqlInit "CREATE DATABASE cohdb;"</pre>}}<br />
{{CLArg|SqlAllowDDL <1/0>|Enable or disable the use of DDL for manipulating the database. This is the master switch for all of the related SQL directives. DDL must be enabled in order to perform many operations for altering the database schema. If a required DDL command is not allowed, the server will exit.}}<br />
{{CLArg|SqlAllowAllDDL <1/0>|Same as {{ms|SqlAllowDDL}}.}}<br />
{{CLArg|SqlAddAttributes <1/0>|Allow the {{ms|SqlAddAttributes}} DDL command.}}<br />
{{CLArg|SqlAddColumnOrTable <1/0>|Allow the {{ms|SqlAddColumnOrTable}} DDL command.}}<br />
{{CLArg|SqlDeleteColumnOrTable <1/0>|Allow the {{ms|SqlDeleteColumnOrTable}} DDL command.}}<br />
{{CLArg|SqlRebuildTable <1/0>|Allow the {{ms|SqlRebuildTable}} DDL command. This has the same effect as setting {{ms|SqlAllowDDL}}.}}<br />
{{CLArg|SqlAlterColumn <1/0>|Allow the {{ms|SqlAlterColumn}} DDL command.}}<br />
{{CLArg|ChangeDbOwnerFrom <name>|Runs some kind of stored procedure. {{ms|// requested by joe phillips}}}}<br />
}}<br />
<br />
=== Auth & Queue ===<br />
{{CommandLineTable|<br />
{{CLArg|UseFakeAuth <0/1>|Enable fake auth. This lets clients log in directly to the dbserver (with any account) instead of going via an authserver.}}<br />
{{CLArg|AuthServer <ip> <port>|The DNS name and port to use when connecting to the authserver. '''Either this or {{ms|UseFakeAuth}} must be present in the file.'''}}<br />
{{CLArg|UseQueueServer <1/0>|Enable or disable the use of the [[queueserver]].}}<br />
{{CLArg|LoginsPerMinute <num>|Number of players that the queueserver is allowed to admit per minute. Default is 100.}}<br />
{{CLArg|BlockFreePlayersIfNoAccountServer <1/0>|Put F2P players in the queue if the account server is down. ''Presumably? clientcomm s_skipQueue''}}<br />
{{CLArg|EnqueueWithAuthLimiter <1/0>|''Let people into the shard even if we would queue them normally?''}}<br />
{{CLArg|AuthnameLimiterEnabled <1/0>|''This is associated with BlockFreePlayersIfNoAccountServer and EnqueueWithAuthLimiter, but I'm really not sure what it's for.''}}<br />
{{CLArg|AuthnameLimiterAccessLevel <n>|Characters greater than this access level can bypass the auth limiter.}}<br />
{{CLArg|OverrideAuthBit <names...>|Force user authbits to be set regardless of the state in the database. The format is comma or space-separated authbit names; see {{ms|authUserData.c:authUserSetFieldByName}}.}}<br />
{{CLArg|OwnsGoingRogue <1/0>|Set/unset the Going Rogue authbit. Only works on FakeAuth shards.}}<br />
{{CLArg|DefaultLoyaltyPointsFakeAuth <n>|Number of loyalty points automatically granted to FakeAuth accounts.}}<br />
{{CLArg|DefaultLoyaltyLegacyPointsFakeAuth <n>|Number of loyalty legacy points automatically granted to FakeAuth accounts. ''Legacy?''}}<br />
}}<br />
<br />
=== Players, Accounts & Characters ===<br />
{{CommandLineTable|<br />
{{CLArg|DefaultAccessLevel <n>|Set the access level of new characters. This should be 0 for any production system.}}<br />
{{CLArg|MaxPlayers <num>|The maximum number of players that can be connected at any time. The maximum value is AUTH_SIZE_MAX (8191):<br />
<pre><br />
#define AUTH_SIZE_MAX (((1<<14)/2)-1) //so Auth server treats any number (1<<14) or bigger as being zero. So we're saying that you<br />
//can't have a max size > 1<<13-1 so that you can have 1<<13 available for the queue.</pre>}}<br />
{{CLArg|MinPlayers <num>|''Unsure about this. It's only ever sent to authserver when it queries how many are online, but that code is dead:<br />
<pre><br />
if (server_cfg.min_players && 0 /*sqlFifoNearFull()*/)<br />
authPutU16(pak,server_cfg.min_players);<br />
else<br />
authPutU16(pak,AUTH_SIZE_MAX+server_cfg.max_players);<br />
</pre>}}<br />
{{CLArg|MaxDualSlots <n>|Number of shared H/V character slots per player? Default is 12, maximum is 48.}}<br />
{{CLArg|BackupDays <days>|Number of days to keep stored backups (characters?) for. Minimum is 30 days.}}<br />
{{CLArg|OfflineProtectLevel <level>|Highest level of character that can be moved to offline storage. Default is 35. ''Probably?''}}<br />
{{CLArg|OfflineIdleDays <days>|Number of days before a character is moved to offline storage.}}<br />
{{CLArg|XPScale <decimal>|Experience multiplier. Default is 1.0.}}<br />
{{CLArg|NameLockTimeout <n>|Number of seconds to keep character names temporarily reserved when performing a name lookup. This must be greater than the client refresh time, which is 600. Default is 1200.}}<br />
}}<br />
<br />
=== Mapserver & beaconserver ===<br />
{{CommandLineTable|<br />
{{CLArg|MapServerParams "<params>"|Extra parameters to send to launched mapservers.}}<br />
{{CLArg|CompleteBrokenTasks <1/0>|Sends {{ms|-completebrokentasks}} to launched mapservers. ''Document what this does.''}}<br />
{{CLArg|DoNotLaunchMapServerTSR <1/0>|Don't launch any TSR mapservers. TSR mapservers preload data to shared memory to make loading other mapservers faster.}}<br />
{{CLArg|RaidTimeZoneDelta <decimal>|Difference in hours between the time on the mapserver and the dbserver. Default comes from the OS. ''This is sent from dbserver to mapserver, but doesn't seem used?''}}<br />
{{CLArg|BlockedMapKey <maps...>|A comma delimited list of map keys to not load.}}<br />
{{CLArg|DisabledZoneEvents <events...>|A comma delimited list of disabled zone events.}}<br />
{{CLArg|MapserverIdleExit <n>|Shut down mapservers if they are idle for this many minutes. Default is 0 (idle shutdown is disabled). Keep in mind that maps without {{ms|Transient}} in their maps.db entry will never shut down, even after being idle.}}<br />
{{CLArg|MapserverIdleUpkeep <n>|Number of minutes a mapserver must be idle before performing idle maintenance. Idle maintenance will attempt to minimize the memory footprint of the mapserver by compacting the working set. Default is 20 minutes.}}<br />
{{CLArg|MapserverDailyUpkeep <start> <end>|Specify an hour range (24-hour clock) for when to perform daily maintenance on static mapservers. Daily maintenance is disabled by default.}}<br />
{{CLArg|SendDoorsToAllMaps <1/0>|Whether door updates should be sent to all mapservers. This is a legacy behavior; by default, updates are only sent to static maps and supergroup bases, and not mission maps, raid maps and arena maps.}}<br />
{{CLArg|MasterBeaconServer <host>|Hostname for the master beaconserver.}}<br />
{{CLArg|DoNotLaunchMasterBeaconServer <1/0>|Don't launch the master beaconserver.}}<br />
{{CLArg|RequestBeaconServerCount <n>|Number of beaconrequestservers to launch. Negative values correspond to 2. Default is -1.}}<br />
{{CLArg|BeaconRequestCacheDir <dir>|Cache directory for requests made to the beaconservers. ''Probably.''}}<br />
{{CLArg|DoNotLaunchBeaconClients <1/0>|Don't launch any beaconclients.}}<br />
}}<br />
<br />
=== Logging & Metrics ===<br />
{{CommandLineTable|<br />
{{CLArg|LogDir <dir>|Set the log file directory. Default is {{ms|logs}} inside the game data directory.}}<br />
{{CLArg|AssertMode "<modes>"|Set the behavior of assertion failures. Multiple modes can be specified if the argument is wrapped in quotes. Possible modes are:<br />
{{CommandLineTable|<br />
{{CLArg|Minidump|Create minidumps (.mdmp) on failure.}}<br />
{{CLArg|Fulldump|Create full dumps (.dmp) on failure.}}<br />
{{CLArg|Exit|Exit on failure.}}<br />
{{CLArg|NoTimestamp|Don't name dump files with timestamps.}}<br />
{{CLArg|NoDate|Same as {{ms|NoTimestamp}}.}}<br />
{{CLArg|Zip|Zip the dump files.}}<br />
{{CLArg|Ignore|Enable the ignore button on assertions.}}<br />
}}}}<br />
{{CLArg|UseLogServer <1/0>|Enable the logserver.}}<br />
{{CLArg|LogServer <ip>|Set the IP address of the logserver. This implies enabling the logserver.}}<br />
{{CLArg|LogRelayVerbose <1/0>|Enable verbose logging. ''Of what? Inter-server handover?''}}<br />
{{CLArg|SetLogLevel <logtype> <level>|Set the log level of the various log types. This directive can appear multiple times. Possible levels are:<br />
{{CommandLineTable|<br />
{{CLArg|-2|DISABLED; do not log anything.}}<br />
{{CLArg|-1|ALERT; this is so important that someone should be notified.}}<br />
{{CLArg|0|IMPORTANT; only the most important information. Default value.}}<br />
{{CLArg|1|VERBOSE; information that we would like, but has the possibility of spamming the logs with too much data.}}<br />
{{CLArg|2|DEPRECATED; there are old things that are doubtful we should even be logging.}}<br />
{{CLArg|3|DEBUG; lots of information for debugging only.}}<br />
}}<br />
Possible log types are listed below. They are case-insensitive.<br />
<br />
==== General ====<br />
{{CommandLineTable|<br />
{{CLArg|crashDetails|Crash reports}}<br />
{{CLArg|debug|Logs for debugging purposes. Usually temporary, while the bug is being tracked down.}}<br />
{{CLArg|persist|Logs for the text journaling system}}<br />
{{CLArg|error|Errors we want to know about sent here}}<br />
{{CLArg|old|Log messages that are probably worthless are sent here, on the off-chance we still need them}}<br />
{{CLArg|TestClient|Used to generate output from test clients}}<br />
{{CLArg|packets|Packet logging}}<br />
}}<br />
==== dbserver ====<br />
{{CommandLineTable|<br />
{{CLArg|delete|Proof they deleted their character}}<br />
{{CLArg|offline|Players getting moved out of the db into text}}<br />
{{CLArg|SystemSpecs|Log users system specs when the connect to db}}<br />
{{CLArg|OverloadProtection|Overload protection messages}}<br />
{{CLArg|CharSlotApply|Proof they committed a character slot to a shard}}<br />
}}<br />
==== Mapserver ====<br />
{{CommandLineTable|<br />
{{CLArg|entity|General log of things on entities (no chat, powers, or rewards related)}}<br />
{{CLArg|powers|Power Info (may be redundant since chat records lots of powers information)}}<br />
{{CLArg|supergroup|Supergroup specific things}}<br />
{{CLArg|bug|Player reported bugs}}<br />
{{CLArg|chat|Chat}}<br />
{{CLArg|cheaters|Egregious cheats sent here}}<br />
{{CLArg|rewards|Anything to do with player inventory should go here}}<br />
{{CLArg|sze_rewards|Scripted zone event reward logs}}<br />
{{CLArg|survey|''Seems to be some special kind of bug report from the client.''}}<br />
{{CLArg|cmds|Access level commands. These are commands with AccessLevel < ACCESS_DEBUG (9).}}<br />
{{CLArg|internalcmds|Internal commands. These are commands with AccessLevel >= ACCESS_DEBUG.}}<br />
{{CLArg|MARTY|MARTY (anti-cheat system) logs.}}<br />
{{CLArg|Admin|Logs admin commands. ''Seems to mostly be used for logging the stuck mission complete function.''}}<br />
{{CLArg|Performance|Performance logs}}<br />
{{CLArg|DuplicateMessageIDs|Log for duplicate message ids. Probably for duplicate localization string hashes.}}<br />
}}<br />
==== Accountserver ====<br />
{{CommandLineTable|<br />
{{CLArg|Account|Generic account log}}<br />
{{CLArg|Transaction|Account transaction log}}<br />
}}<br />
==== Arenaserver ====<br />
{{CommandLineTable|<br />
{{CLArg|ArenaEvent|In depth arena event logs.}}<br />
}}<br />
==== Auctionserver ====<br />
{{CommandLineTable|<br />
{{CLArg|Auction|Auction log}}<br />
{{CLArg|Xaction|Auction transaction log}}<br />
}}<br />
==== Missionserver ====<br />
{{CommandLineTable|<br />
{{CLArg|DeletedArcs|Log for deleted/deleting arcs.}}<br />
{{CLArg|missionserver|Generic missionserver logs.}}<br />
}}<br />
==== Raidserver ====<br />
{{CommandLineTable|<br />
{{CLArg|iop|Items of Power log.}}<br />
}}<br />
==== Statserver ====<br />
{{CommandLineTable|<br />
{{CLArg|statserver|Statserver log.}}<br />
}}<br />
==== Turnstileserver ====<br />
{{CommandLineTable|<br />
{{CLArg|turnstile|Turnstileserver log.}}<br />
}}<br />
}}<br />
{{CLArg|IsLoggingMaster <1/0>|If 1, this server will propagate the configured loglevels to all of the connected servers.}}<br />
{{CLArg|DroppedPacketLogging <1/0>|Log when packets are dropped or received out of order.}}<br />
{{CLArg|AuthBadPacketReconnect <1/0>|Extra verification on auth packets?}}<br />
{{CLArg|DiffDebug <1/0>|Possibly perform extra verification checks on containers? Sends {{ms|-diffdebug}} to launched mapservers.}}<br />
{{CLArg|ContainerSizeDebug <1/0>|Possibly perform extra verification checks on containers?}}<br />
{{CLArg|MetricsEnabled <1/0>|Enable ZeroMQ metrics. Disabled by default.}}<br />
{{CLArg|MetricsIPAddress <ip>|IP address for the ZeroMQ instance.}}<br />
{{CLArg|MetricsPortNumber <port>|Port for the ZeroMQ instance.}}<br />
{{CLArg|MetricsMQType <n>|This is "the socket type of the metrics system's ZeroMQ connection".}}<br />
{{CLArg|MetricsHighWaterMark <n>|The high water mark of the ZeroMQ connection.}}<br />
}}<br />
<br />
=== Miscellaneous ===<br />
{{CommandLineTable|<br />
{{CLArg|ClientProject <name>|Set the "registry name". This is used to construct the path to the Windows registry keys. Default is {{ms|CoH}}.}}<br />
{{CLArg|MaxLevel <n>|Appears to be global max level for NPCs. It doesn't seem to be max level for characters, which you might think.}}<br />
{{CLArg|MaxCoHLevel <n>|NPC max level for blue zones?}}<br />
{{CLArg|MaxCoVLevel <n>|NPC max level for red zones?}}<br />
{{CLArg|DoNotPreloadCrashReportDLL <1/0>|Don't preload the crash report DLL.}}<br />
{{CLArg|DisableContainerBackups <1/0>|Disable on-disk container backups.}}<br />
{{CLArg|AuctionInvMaxLastLoginDays <n>|Auction entries for accounts that have not logged in in this many days are not sent. Default is 60.}}<br />
{{CLArg|MissionserverMaxSendQueueSize <n>|The maximum amount of bytes allowed in the send queue to the [[missionserver]]. Default is {{ms|DB_MISSIONSERVER_MAX_SENDQUEUE_SIZE_DEFAULT}} (1000000).}}<br />
{{CLArg|MissionserverMaxSendQueuePublishSize <n>|The maximum amount of bytes allowed in the publish queue to the [[missionserver]]. Default is {{ms|DB_MISSIONSERVER_MAX_SENDQUEUE_SIZE_DEFAULT}} (500000).}}<br />
{{CLArg|GoingRogueNagAndPurchase <1/0>|Show the nag dialogs and buy button for Going Rogue.}}<br />
{{CLArg|KarmaEventHistoryDays <1/0>|How many days of past karma event history to read on load. Default is 30.}}<br />
{{CLArg|DebugSendPlayersDelayMS <n>|When sending the list of characters to a client, delay the SQL query by this many milliseconds.}}<br />
}}<br />
<br />
=== Deprecated ===<br />
{{CommandLineTable|<br />
{{CLArg|AuthRequestGameData|Deprecated.}}<br />
{{CLArg|AllowGR|Deprecated.}}<br />
{{CLArg|AllowGREndgame|Deprecated.}}<br />
{{CLArg|AllowIssue20|Deprecated.}}<br />
{{CLArg|AllowPraetorians|Deprecated.}}<br />
{{CLArg|PraetoriaZonesLocked|Deprecated.}}<br />
}}<br />
<br />
== Example ==<br />
<nowiki>DBServer 127.0.0.1<br />
ShardName SCRUBBED<br />
UseFakeAuth 1<br />
#AuthServer 127.0.0.1<br />
DefaultAccessLevel 255<br />
NoStats 1<br />
<br />
LocalIP 127.0.0.1<br />
MaxPlayers 300<br />
AssertMode Fulldump<br />
UseQueueServer 0<br />
UseLogServer 0<br />
OverrideAuthBit RogueAccess<br />
ChatServer 127.0.0.1<br />
KarmaEventHistoryDays 30<br />
MapserverIdleUpkeep 20<br />
MapserverIdleExit 20<br />
FastStart 1<br />
MaxPlayerSlots 1000<br />
MaxDualSlots 1000<br />
AuctionInvMaxLastLoginDays 1000<br />
<br />
// BeaconMasterServer 192.168.0.1<br />
RequestBeaconServerCount 0<br />
BeaconRequestCacheDir "c:\beaconrequestcache"<br />
DoNotLaunchBeaconClients 1<br />
DoNotLaunchMapserverTSRs 0<br />
<br />
AuthnameLimiterEnabled 0<br />
AuthnameLimiterAccessLevel 20<br />
<br />
SetLogLevel "Auction" -2<br />
SetLogLevel "Chat" 1<br />
SetLogLevel "Admin" -2<br />
SetLogLevel "Bug" -2<br />
SetLogLevel "CharSlotApply" -2<br />
SetLogLevel "Debug" -2<br />
SetLogLevel "Delete" -2<br />
SetLogLevel "deletion" -2<br />
SetLogLevel "entity" -2<br />
SetLogLevel "Error" -2<br />
SetLogLevel "cheaters" -2<br />
SetLogLevel "MARTY" -2<br />
SetLogLevel "Offline" -2<br />
SetLogLevel "Powers" -2<br />
SetLogLevel "Rewards" -2<br />
SetLogLevel "SuperGroup" -2<br />
SetLogLevel "SystemSpecs" -2<br />
SetLogLevel "sze_rewards" -2<br />
SetLogLevel "turnstile" -2<br />
SetLogLevel "cmds" -2<br />
SetLogLevel "internalcmds" 1<br />
<br />
SqlDbProvider mssql<br />
SqlDbName coh<br />
SqlAllowDDL 1<br />
SqlLogin "Driver={SQL Server Native Client 11.0};server=localhost;database=coh;trusted_connection=Yes;"<br />
SqlInit 1</nowiki></div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Servers.cfg&diff=1065Servers.cfg2019-05-21T20:44:27Z<p>Bevinsky: </p>
<hr />
<div>{{DISPLAYTITLE:servers.cfg}}<br />
servers.cfg is the main configuration file for the [[dbserver]]. Other components load the file as well, including the [[launcher]], [[arenaserver]], [[raidserver]], and [[statserver]].<br />
<br />
The directives in the file are used to populate the global ServerCfg configuration. Directive names are also case-insensitive. Lines with a leading {{ms|#}} are ignored.<br />
<br />
== Configuration directives ==<br />
<br />
servers.cfg is a list of config options, one per line. If a config option is repeated, the last one in the file overrides all others. Each line has several words, separated by spaces or tabs. If there are extra words on the end of the line, they are ignored. Spaces can be included in a word by surrounding it with double quotes.<br />
<br />
Anywhere that DNS names are used, IP addresses can be used instead.<br />
<br />
{{CommandLineTable|<br />
{{CLArg|DBServer <ip>|The DNS name of the dbserver. This is used by other components to determine where to connect.}}<br />
{{CLArg|DBServer<n> <ip>|Auxiliary dbservers. Launchers can connect to multiple dbservers; more servers are specified as {{ms|DBServer2}}, {{ms|DBServer3}}, etc.}}<br />
{{CLArg|ShardName <name>|The name of the shard this dbserver manages. This must match a shard name in turnstile_server.cfg.}}<br />
{{CLArg|UseFakeAuth <0/1>|Enable fake auth. This lets clients log in directly to the dbserver (with any account) instead of going via an authserver.}}<br />
{{CLArg|AuthServer <ip> <port>|The DNS name and port to use when connecting to the authserver. '''Either this or {{ms|UseFakeAuth}} must be present in the file.'''}}<br />
{{CLArg|LocalIp <ips...>|Local IP addresses. If an address matches the top two octets of any address specified here, the dbserver considers it local. ''What is this actually for?''}}<br />
{{CLArg|SqlDbProvider <prov>|The SQL database type. The supported configurations are {{ms|mssql}} and {{ms|postgresql}}, but only MSSQL is properly tested on proper i24.}}<br />
{{CLArg|SqlDbName <db>|The name of the dbserver database. Most common name is {{ms|cohdb}}.}}<br />
{{CLArg|SqlLogin <connstring>|The connection string for the database connection. Example:<br />
<pre>SqlLogin "DRIVER={SQL Server Native Client 11.0};Server=localhost\SQLEXPRESS;Uid=sa;Pwd=YourL33TPASS!;"<br />
</pre>}}<br />
{{CLArg|SqlInit <query>|An SQL query to initialize the dbserver database for the first time. If {{ms|SqlDbName}} is {{ms|cohdb}}, this could be:<br />
<pre>SqlInit "CREATE DATABASE cohdb;"</pre>}}<br />
{{CLArg|SqlAllowDDL <1/0>|Enable or disable the use of DDL for manipulating the database. This is the master switch for all of the related SQL directives. DDL must be enabled in order to perform many operations for altering the database schema. If a required DDL command is not allowed, the server will exit.}}<br />
{{CLArg|SqlAllowAllDDL <1/0>|Same as {{ms|SqlAllowDDL}}.}}<br />
{{CLArg|SqlAddAttributes <1/0>|Allow the {{ms|SqlAddAttributes}} DDL command.}}<br />
{{CLArg|SqlAddColumnOrTable <1/0>|Allow the {{ms|SqlAddColumnOrTable}} DDL command.}}<br />
{{CLArg|SqlDeleteColumnOrTable <1/0>|Allow the {{ms|SqlDeleteColumnOrTable}} DDL command.}}<br />
{{CLArg|SqlRebuildTable <1/0>|Allow the {{ms|SqlRebuildTable}} DDL command. This has the same effect as setting {{ms|SqlAllowDDL}}.}}<br />
{{CLArg|SqlAlterColumn <1/0>|Allow the {{ms|SqlAlterColumn}} DDL command.}}<br />
{{CLArg|DefaultAccessLevel <n>|Set the access level of new characters. This should be 0 for any production system.}}<br />
{{CLArg|LogDir <dir>|Set the log file directory. Default is {{ms|logs}} inside the game data directory.}}<br />
{{CLArg|AssertMode "<modes>"|Set the behavior of assertion failures. Multiple modes can be specified if the argument is wrapped in quotes. Possible modes are:<br />
{{CommandLineTable|<br />
{{CLArg|Minidump|Create minidumps (.mdmp) on failure.}}<br />
{{CLArg|Fulldump|Create full dumps (.dmp) on failure.}}<br />
{{CLArg|Exit|Exit on failure.}}<br />
{{CLArg|NoTimestamp|Don't name dump files with timestamps.}}<br />
{{CLArg|NoDate|Same as {{ms|NoTimestamp}}.}}<br />
{{CLArg|Zip|Zip the dump files.}}<br />
{{CLArg|Ignore|Enable the ignore button on assertions.}}<br />
}}}}<br />
{{CLArg|MaxPlayers <num>|The maximum number of players that can be connected at any time. The maximum value is AUTH_SIZE_MAX (8191):<br />
<pre><br />
#define AUTH_SIZE_MAX (((1<<14)/2)-1) //so Auth server treats any number (1<<14) or bigger as being zero. So we're saying that you<br />
//can't have a max size > 1<<13-1 so that you can have 1<<13 available for the queue.</pre>}}<br />
{{CLArg|LoginsPerMinute <num>|''Unsure what this is. It's only used in one place, queueservercomm, so it doesn't actually seem to be a server-side login attempt limiter.''}}<br />
{{CLArg|MinPlayers <num>|''Unsure about this. It's only ever sent to authserver when it queries how many are online, but that code is dead:<br />
<pre><br />
if (server_cfg.min_players && 0 /*sqlFifoNearFull()*/)<br />
authPutU16(pak,server_cfg.min_players);<br />
else<br />
authPutU16(pak,AUTH_SIZE_MAX+server_cfg.max_players);<br />
</pre>}}<br />
{{CLArg|UseQueueServer <1/0>|Enable or disable the use of the [[queueserver]].}}<br />
{{CLArg|BlockFreePlayersIfNoAccountServer <1/0>|Put F2P players in the queue if the account server is down. ''Presumably? clientcomm s_skipQueue''}}<br />
{{CLArg|EnqueueWithAuthLimiter <1/0>|''Let people into the shard even if we would queue them normally?''}}<br />
{{CLArg|NoStats <1/0>|Disable the statserver; have the launcher send {{ms|-nostats}} to mapservers.}}<br />
{{CLArg|ClientProject <name>|Set the "registry name". This is used to construct the path to the Windows registry keys. Default is {{ms|CoH}}.}}<br />
{{CLArg|MapServerParams "<params>"|Extra parameters to send to launched mapservers.}}<br />
{{CLArg|DiffDebug <1/0>|Possibly perform extra verification checks on containers? Sends {{ms|-diffdebug}} to launched mapservers.}}<br />
{{CLArg|ContainerSizeDebug <1/0>|Possibly perform extra verification checks on containers?}}<br />
{{CLArg|UseLogServer <1/0>|Enable the logserver.}}<br />
{{CLArg|LogServer <ip>|Set the IP address of the logserver. This implies enabling the logserver.}}<br />
{{CLArg|LogRelayVerbose <1/0>|Enable verbose logging. ''Of what? Inter-server handover?''}}<br />
{{CLArg|ChatServer <ip>|Set the IP address of the chatserver.}}<br />
{{CLArg|ChangeDbOwnerFrom <name>|Runs some kind of stored procedure. {{ms|// requested by joe phillips}}}}<br />
{{CLArg|MaxLevel <n>|Appears to be global max level for NPCs. It doesn't seem to be max level for characters, which you might think.}}<br />
{{CLArg|MaxCoHLevel <n>|NPC max level for blue zones?}}<br />
{{CLArg|MaxCoVLevel <n>|NPC max level for red zones?}}<br />
{{CLArg|MaxDualSlots <n>|Number of shared H/V character slots per player? Default is 12, maximum is 48.}}<br />
{{CLArg|BackupDays <days>|Number of days to keep stored backups (characters?) for. Minimum is 30 days.}}<br />
{{CLArg|OfflineProtectLevel <level>|Highest level of character that can be moved to offline storage. Default is 35. ''Probably?''}}<br />
{{CLArg|OfflineIdleDays <days>|Number of days before a character is moved to offline storage.}}<br />
{{CLArg|CompleteBrokenTasks <1/0>|Sends {{ms|-completebrokentasks}} to launched mapservers. ''Document what this does.''}}<br />
{{CLArg|DroppedPacketLogging <1/0>|Log when packets are dropped or received out of order.}}<br />
{{CLArg|AuthBadPacketReconnect <1/0>|Extra verification on auth packets?}}<br />
{{CLArg|MasterBeaconServer <host>|Hostname for the master beaconserver.}}<br />
{{CLArg|DoNotLaunchMasterBeaconServer <1/0>|Don't launch the master beaconserver.}}<br />
{{CLArg|RequestBeaconServerCount <n>|Number of beaconrequestservers to launch. Negative values correspond to 2. Default is -1.}}<br />
{{CLArg|DoNotPreloadCrashReportDLL <1/0>|Don't preload the crash report DLL.}}<br />
{{CLArg|BeaconRequestCacheDir <dir>|Cache directory for requests made to the beaconservers. ''Probably.''}}<br />
{{CLArg|DoNotLaunchBeaconClients <1/0>|Don't launch any beaconclients.}}<br />
{{CLArg|DoNotLaunchMapServerTSR <1/0>|Don't launch any TSR mapservers. TSR mapservers preload data to shared memory to make loading other mapservers faster.}}<br />
{{CLArg|RaidTimeZoneDelta <decimal>|Difference in hours between the time on the mapserver and the dbserver. Default comes from the OS. ''This is sent from dbserver to mapserver, but doesn't seem used?''}}<br />
{{CLArg|DisableContainerBackups <1/0>|Disable on-disk container backups.}}<br />
{{CLArg|XPScale <decimal>|Experience multiplier. Default is 1.0.}}<br />
{{CLArg|AuctionInvMaxLastLoginDays <n>|Auction entries for accounts that have not logged in in this many days are not sent. Default is 60.}}<br />
{{CLArg|AuthnameLimiterEnabled <1/0>|''This is associated with BlockFreePlayersIfNoAccountServer and EnqueueWithAuthLimiter, but I'm really not sure what it's for.''}}<br />
{{CLArg|AuthnameLimiterAccessLevel <n>|Characters greater than this access level can bypass the auth limiter.}}<br />
{{CLArg|BlockedMapKey <maps...>|A comma or space delimited list of map keys to not load.}}<br />
{{CLArg|DisabledZoneEvents <events...>|A comma or space delimited list of disabled zone events.}}<br />
{{CLArg|ClientCommands "<commands>"|A list of commands to be executed by the client upon connection. See [[Client-to-dbserver#DBGAMESERVER_SEND_PLAYERS]].}}<br />
{{CLArg|AuthRequestGameData|Deprecated.}}<br />
{{CLArg|MissionserverMaxSendQueueSize <n>|The maximum amount of bytes allowed in the send queue to the [[missionserver]]. Default is {{ms|DB_MISSIONSERVER_MAX_SENDQUEUE_SIZE_DEFAULT}} (1000000).}}<br />
{{CLArg|MissionserverMaxSendQueuePublishSize <n>|The maximum amount of bytes allowed in the publish queue to the [[missionserver]]. Default is {{ms|DB_MISSIONSERVER_MAX_SENDQUEUE_SIZE_DEFAULT}} (500000).}}<br />
{{CLArg|Locale <name>|The locale of the shard. This must either be a locale name or 0 (in which case English is chosen). Possible values are:<br />
: {{ms|en}}: English<br />
: {{ms|test}}: Test locale<br />
: {{ms|zh}}: Chinese<br />
: {{ms|ko}}: Korean<br />
: {{ms|ja}}: Japanese<br />
: {{ms|de}}: German<br />
: {{ms|fr}}: French<br />
: {{ms|es}}: Spanish<br />
}}<br />
{{CLArg|OverrideAuthBit <names...>|Force user authbits to be set regardless of the state in the database. The format is comma or space-separated authbit names; see {{ms|authUserData.c:authUserSetFieldByName}}.}}<br />
{{CLArg|IsBetaShard <1/0>|Whether or not this shard is a beta shard. On beta shards, users can use the broken mission fix every 10 minutes, rather than every 3 days.}}<br />
{{CLArg|IsVIPShard <1/0>|Whether or not this shard is a VIP shard. Only accounts marked as VIP can log into this shard.}}<br />
{{CLArg|AllowGR|Deprecated.}}<br />
{{CLArg|AllowGREndgame|Deprecated.}}<br />
{{CLArg|AllowIssue20|Deprecated.}}<br />
{{CLArg|AllowPraetorians|Deprecated.}}<br />
{{CLArg|OwnsGoingRogue <1/0>|Set/unset the Going Rogue authbit. Only works on FakeAuth shards.}}<br />
{{CLArg|PraetoriaZonesLocked|Deprecated.}}<br />
{{CLArg|GoingRogueNagAndPurchase <1/0>|Show the nag dialogs and buy button for Going Rogue.}}<br />
{{CLArg|KarmaEventHistoryDays <1/0>|How many days of past karma event history to read on load. Default is 30.}}<br />
{{CLArg|NameLockTimeout <n>|Number of seconds to keep character names temporarily reserved. This must be greater than the client refresh time, which is 600. Default is 1200.}}<br />
{{CLArg|SetLogLevel <logtype> <level>|Set the log level of the various log types. This directive can appear multiple times. Possible levels are:<br />
{{CommandLineTable|<br />
{{CLArg|-2|DISABLED; do not log anything.}}<br />
{{CLArg|-1|ALERT; this is so important that someone should be notified.}}<br />
{{CLArg|0|IMPORTANT; only the most important information. Default value.}}<br />
{{CLArg|1|VERBOSE; information that we would like, but has the possibility of spamming the logs with too much data.}}<br />
{{CLArg|2|DEPRECATED; there are old things that are doubtful we should even be logging.}}<br />
{{CLArg|3|DEBUG; lots of information for debugging only.}}<br />
}}<br />
Possible log types are listed below. They are case-insensitive.<br />
<br />
==== General ====<br />
{{CommandLineTable|<br />
{{CLArg|crashDetails|Crash reports}}<br />
{{CLArg|debug|Logs for debugging purposes. Usually temporary, while the bug is being tracked down.}}<br />
{{CLArg|persist|Logs for the text journaling system}}<br />
{{CLArg|error|Errors we want to know about sent here}}<br />
{{CLArg|old|Log messages that are probably worthless are sent here, on the off-chance we still need them}}<br />
{{CLArg|TestClient|Used to generate output from test clients}}<br />
{{CLArg|packets|Packet logging}}<br />
}}<br />
==== dbserver ====<br />
{{CommandLineTable|<br />
{{CLArg|delete|Proof they deleted their character}}<br />
{{CLArg|offline|Players getting moved out of the db into text}}<br />
{{CLArg|SystemSpecs|Log users system specs when the connect to db}}<br />
{{CLArg|OverloadProtection|Overload protection messages}}<br />
{{CLArg|CharSlotApply|Proof they committed a character slot to a shard}}<br />
}}<br />
==== Mapserver ====<br />
{{CommandLineTable|<br />
{{CLArg|entity|General log of things on entities (no chat, powers, or rewards related)}}<br />
{{CLArg|powers|Power Info (may be redundant since chat records lots of powers information)}}<br />
{{CLArg|supergroup|Supergroup specific things}}<br />
{{CLArg|bug|Player reported bugs}}<br />
{{CLArg|chat|Chat}}<br />
{{CLArg|cheaters|Egregious cheats sent here}}<br />
{{CLArg|rewards|Anything to do with player inventory should go here}}<br />
{{CLArg|sze_rewards|Scripted zone event reward logs}}<br />
{{CLArg|survey|''Seems to be some special kind of bug report from the client.''}}<br />
{{CLArg|cmds|Access level commands. These are commands with AccessLevel < ACCESS_DEBUG (9).}}<br />
{{CLArg|internalcmds|Internal commands. These are commands with AccessLevel >= ACCESS_DEBUG.}}<br />
{{CLArg|MARTY|MARTY (anti-cheat system) logs.}}<br />
{{CLArg|Admin|Logs admin commands. ''Seems to mostly be used for logging the stuck mission complete function.''}}<br />
{{CLArg|Performance|Performance logs}}<br />
{{CLArg|DuplicateMessageIDs|Log for duplicate message ids. Probably for duplicate localization string hashes.}}<br />
}}<br />
==== Accountserver ====<br />
{{CommandLineTable|<br />
{{CLArg|Account|Generic account log}}<br />
{{CLArg|Transaction|Account transaction log}}<br />
}}<br />
==== Arenaserver ====<br />
{{CommandLineTable|<br />
{{CLArg|ArenaEvent|In depth arena event logs.}}<br />
}}<br />
==== Auctionserver ====<br />
{{CommandLineTable|<br />
{{CLArg|Auction|Auction log}}<br />
{{CLArg|Xaction|Auction transaction log}}<br />
}}<br />
==== Missionserver ====<br />
{{CommandLineTable|<br />
{{CLArg|DeletedArcs|Log for deleted/deleting arcs.}}<br />
{{CLArg|missionserver|Generic missionserver logs.}}<br />
}}<br />
==== Raidserver ====<br />
{{CommandLineTable|<br />
{{CLArg|iop|Items of Power log.}}<br />
}}<br />
==== Statserver ====<br />
{{CommandLineTable|<br />
{{CLArg|statserver|Statserver log.}}<br />
}}<br />
==== Turnstileserver ====<br />
{{CommandLineTable|<br />
{{CLArg|turnstile|Turnstileserver log.}}<br />
}}<br />
}}<br />
{{CLArg|IsLoggingMaster <1/0>|If 1, this server will propagate the configured loglevels to all of the connected servers.}}<br />
{{CLArg|MARTYEnabled <1/0>|Enable/disable the MARTY anti-cheat.}}<br />
{{CLArg|DebugSendPlayersDelayMS <n>|When sending the list of characters to a client, delay the SQL query by this many milliseconds.}}<br />
{{CLArg|DefaultLoyaltyPointsFakeAuth <n>|Number of loyalty points automatically granted to FakeAuth accounts.}}<br />
{{CLArg|DefaultLoyaltyLegacyPointsFakeAuth <n>|Number of loyalty legacy points automatically granted to FakeAuth accounts. ''Legacy?''}}<br />
{{CLArg|ForceOverloadProtection <1/0>|Forces overload protection to be enabled.}}<br />
{{CLArg|OverloadProtection_LauncherHighWaterMarkPercent <decimal>|Launcher upper bound for overload protection. When the percentage of launchers that cannot launch a server rises above this percentage, engage overload protection.}}<br />
{{CLArg|OverloadProtection_LauncherLowWaterMarkPercent <decimal>|Launcher lower bound for overload protection. When the percentage of launchers that cannot launch a server drops below this percentage, disengage overload protection.}}<br />
{{CLArg|OverloadProtection_SQLQueueHighWaterMark <n>|SQL upper bound for overload protection. When the size of the SQL queue grows larger than this, engage overload protection.}}<br />
{{CLArg|OverloadProtection_SQLQueueLowWaterMark <n>|SQL lower bound for overload protection. When the size of the SQL queue drops below this, disengage overload protection.}}<br />
{{CLArg|MapserverIdleExit <n>|Shut down mapservers if they are idle for this many minutes. Default is 0 (idle shutdown is disabled). Keep in mind that maps without {{ms|Transient}} in their maps.db entry will never shut down, even after being idle.}}<br />
{{CLArg|MapserverIdleUpkeep <n>|Number of minutes a mapserver must be idle before performing idle maintenance. Idle maintenance will attempt to minimize the memory footprint of the mapserver by compacting the working set. Default is 20 minutes.}}<br />
{{CLArg|MapserverDailyUpkeep <start> <end>|Specify an hour range (24-hour clock) for when to perform daily maintenance on static mapservers. Daily maintenance is disabled by default.}}<br />
{{CLArg|SendDoorsToAllMaps <1/0>|Whether door updates should be sent to all mapservers. This is a legacy behavior; by default, updates are only sent to static maps and supergroup bases, and not mission maps, raid maps and arena maps.}}<br />
{{CLArg|MetricsEnabled <1/0>|Enable ZeroMQ metrics. Disabled by default.}}<br />
{{CLArg|MetricsIPAddress <ip>|IP address for the ZeroMQ instance.}}<br />
{{CLArg|MetricsPortNumber <port>|Port for the ZeroMQ instance.}}<br />
{{CLArg|MetricsMQType <n>|This is "the socket type of the metrics system's ZeroMQ connection".}}<br />
{{CLArg|MetricsHighWaterMark <n>|The high water mark of the ZeroMQ connection.}}<br />
{{CLArg|AdvertisedIp <ip>|Force mapservers to advertise this IP address to clients rather than what the mapserver wants. This is useful for NATed servers.<br />
<br />
''This really shouldn't be in servers.cfg. It belongs in individual launcher configurations instead.''}}<br />
}}<br />
<br />
== Example ==<br />
<nowiki>DBServer 127.0.0.1<br />
ShardName SCRUBBED<br />
UseFakeAuth 1<br />
#AuthServer 127.0.0.1<br />
DefaultAccessLevel 255<br />
NoStats 1<br />
<br />
LocalIP 127.0.0.1<br />
MaxPlayers 300<br />
AssertMode Fulldump<br />
UseQueueServer 0<br />
UseLogServer 0<br />
OverrideAuthBit RogueAccess<br />
ChatServer 127.0.0.1<br />
KarmaEventHistoryDays 30<br />
MapserverIdleUpkeep 20<br />
MapserverIdleExit 20<br />
FastStart 1<br />
MaxPlayerSlots 1000<br />
MaxDualSlots 1000<br />
AuctionInvMaxLastLoginDays 1000<br />
<br />
// BeaconMasterServer 192.168.0.1<br />
RequestBeaconServerCount 0<br />
BeaconRequestCacheDir "c:\beaconrequestcache"<br />
DoNotLaunchBeaconClients 1<br />
DoNotLaunchMapserverTSRs 0<br />
<br />
AuthnameLimiterEnabled 0<br />
AuthnameLimiterAccessLevel 20<br />
<br />
SetLogLevel "Auction" -2<br />
SetLogLevel "Chat" 1<br />
SetLogLevel "Admin" -2<br />
SetLogLevel "Bug" -2<br />
SetLogLevel "CharSlotApply" -2<br />
SetLogLevel "Debug" -2<br />
SetLogLevel "Delete" -2<br />
SetLogLevel "deletion" -2<br />
SetLogLevel "entity" -2<br />
SetLogLevel "Error" -2<br />
SetLogLevel "cheaters" -2<br />
SetLogLevel "MARTY" -2<br />
SetLogLevel "Offline" -2<br />
SetLogLevel "Powers" -2<br />
SetLogLevel "Rewards" -2<br />
SetLogLevel "SuperGroup" -2<br />
SetLogLevel "SystemSpecs" -2<br />
SetLogLevel "sze_rewards" -2<br />
SetLogLevel "turnstile" -2<br />
SetLogLevel "cmds" -2<br />
SetLogLevel "internalcmds" 1<br />
<br />
SqlDbProvider mssql<br />
SqlDbName coh<br />
SqlAllowDDL 1<br />
SqlLogin "Driver={SQL Server Native Client 11.0};server=localhost;database=coh;trusted_connection=Yes;"<br />
SqlInit 1</nowiki></div>Bevinskyhttps://wiki.ourodev.com/index.php?title=MediaWiki:Common.css&diff=1007MediaWiki:Common.css2019-05-17T20:47:59Z<p>Bevinsky: </p>
<hr />
<div>/* CSS placed here will be applied to all skins */<br />
<br />
table {<br />
border-spacing: 0;<br />
}<br />
<br />
td {<br />
padding: 0;<br />
}<br />
<br />
.commandlinetable .commandlinetable {<br />
width: auto !important;<br />
}</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Template:CommandLineTable&diff=1006Template:CommandLineTable2019-05-17T20:46:29Z<p>Bevinsky: </p>
<hr />
<div><noinclude><br />
Table for command line arguments and other monospace definition tables.<br />
<br />
Example:<br />
<pre><br />
{{CommandLineTable|<br />
{{CLArg|-arg1|This is argument 1.}}<br />
{{CLArg|-arg2 ''number''|Argument 2 engages numberwang according to the parameter.}}<br />
{{CLArg|-longarg|<br />
You can have multiparagraph and wikiformatting in the descriptions.<br />
<br />
Very nice.}}<br />
}}<br />
</pre><br />
{{CommandLineTable|<br />
{{CLArg|-arg1|This is argument 1.}}<br />
{{CLArg|-arg2 ''number''|Argument 2 engages numberwang according to the parameter.}}<br />
{{CLArg|-longarg|<br />
You can have multiparagraph and wikiformatting in the descriptions.<br />
<br />
Very nice.}}<br />
}}<br />
<br />
You can also use it for other kinds of monospaced table lists.<br />
{{CommandLineTable|<br />
{{CLArg|ConfigDirective|This directive tells the server to activate the system.}}<br />
{{CLArg|WildRide|<br />
This one takes subdirectives.<br />
{{CommandLineTable|<br />
{{CLArg|DataFolder|The folder for data.}}<br />
{{CLArg|System|This is the system.}}<br />
}}}}<br />
}}<br />
</noinclude><includeonly>{| class="commandlinetable" style="width:100%; background:#2a2a2a; margin-top: 0.6em; margin-bottom:0.6em; border:1px solid #a2a9b1; border-collapse:collapse"<br />
{{{1}}}<br />
|}</includeonly></div>Bevinskyhttps://wiki.ourodev.com/index.php?title=User:Bevinsky&diff=996User:Bevinsky2019-05-17T18:41:59Z<p>Bevinsky: </p>
<hr />
<div>test page please ignore<br />
<br />
=== Arguments ===<br />
{{CommandLineTable|<br />
{{CLArg|-test|This is a test argument}}<br />
{{CLArg|-another|Blow up the dbserver}}<br />
{{CLArg|-another2 ''<number>''|The parameter ''n'' is used for numberwang}}<br />
{{CLArg|-empty|}}<br />
{{CLArg|-essay|<br />
You can have much documentation in this part of the template. It just works!<br />
* This a list.<br />
* Another list entry. Lists are cool.<br />
* Endgame was pretty good.<br />
* Don't forget to actually terminate the transclusion like I did when testing!}}<br />
{{CLArg|-slammo|<br />
Testing nested lists.<br />
{{CommandLineTable|<br />
{{CLArg|-horse|This is horse.}}<br />
{{CLArg|-yes|Very cool}}<br />
}}}}<br />
}}<br />
<br />
{| class="wikitable collapsible collapsed"<br />
|-<br />
! This is the header cell, which is always shown<br />
|-<br />
| This cell is not shown by default.<br />
|}<br />
<br />
<br />
<br />
== Header 2 ==<br />
Text<br />
=== Header 3 ===<br />
Text<br />
==== Header 4 ====<br />
Text<br />
===== Header 5 =====<br />
Text</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Template:%3D&diff=969Template:=2019-05-15T17:32:29Z<p>Bevinsky: Created page with "="</p>
<hr />
<div>=</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Servers.cfg&diff=944Servers.cfg2019-05-14T21:29:40Z<p>Bevinsky: </p>
<hr />
<div>{{DISPLAYTITLE:servers.cfg}}<br />
servers.cfg is the main configuration file for the [[dbserver]]. Other components load the file as well, including the [[launcher]], [[arenaserver]], [[raidserver]], and [[statserver]].<br />
<br />
The directives in the file are used to populate the global ServerCfg configuration. Directive names are also case-insensitive. Lines with a leading {{ms|#}} are ignored.<br />
<br />
== Configuration directives ==<br />
<br />
servers.cfg is a list of config options, one per line. If a config option is repeated, the last one in the file overrides all others. Each line has several words, separated by spaces or tabs. If there are extra words on the end of the line, they are ignored. Spaces can be included in a word by surrounding it with double quotes.<br />
<br />
Anywhere that DNS names are used, IP addresses can be used instead.<br />
<br />
{{CommandLineTable|<br />
{{CLArg|DBServer <ip>|The DNS name of the dbserver. This is used by other components to determine where to connect.}}<br />
{{CLArg|DBServer<n> <ip>|Auxiliary dbservers. Launchers can connect to multiple dbservers; more servers are specified as {{ms|DBServer2}}, {{ms|DBServer3}}, etc.}}<br />
{{CLArg|ShardName <name>|The name of the shard this dbserver manages. This must match a shard name in turnstile_server.cfg.}}<br />
{{CLArg|UseFakeAuth <0/1>|Enable fake auth. This lets clients log in directly to the dbserver (with any account) instead of going via an authserver.}}<br />
{{CLArg|AuthServer <ip> <port>|The DNS name and port to use when connecting to the authserver. '''Either this or {{ms|UseFakeAuth}} must be present in the file.'''}}<br />
{{CLArg|LocalIp <ips...>|Local IP addresses. If an address matches the top two octets of any address specified here, the dbserver considers it local. ''What is this actually for?''}}<br />
{{CLArg|SqlDbProvider <prov>|The SQL database type. The supported configurations are {{ms|mssql}} and {{ms|postgresql}}, but only MSSQL is properly tested on proper i24.}}<br />
{{CLArg|SqlDbName <db>|The name of the dbserver database. Most common name is {{ms|cohdb}}.}}<br />
{{CLArg|SqlLogin <connstring>|The connection string for the database connection. Example:<br />
<pre>SqlLogin "DRIVER={SQL Server Native Client 11.0};Server=localhost\SQLEXPRESS;Uid=sa;Pwd=YourL33TPASS!;"<br />
</pre>}}<br />
{{CLArg|SqlInit <query>|An SQL query to initialize the dbserver database for the first time. If {{ms|SqlDbName}} is {{ms|cohdb}}, this could be:<br />
<pre>SqlInit "CREATE DATABASE cohdb;"</pre>}}<br />
{{CLArg|SqlAllowDDL <1/0>|Enable or disable the use of DDL for manipulating the database. This is the master switch for all of the related SQL directives. DDL must be enabled in order to perform many operations for altering the database schema. If a required DDL command is not allowed, the server will exit.}}<br />
{{CLArg|SqlAllowAllDDL <1/0>|Same as {{ms|SqlAllowDDL}}.}}<br />
{{CLArg|SqlAddAttributes <1/0>|Allow the {{ms|SqlAddAttributes}} DDL command.}}<br />
{{CLArg|SqlAddColumnOrTable <1/0>|Allow the {{ms|SqlAddColumnOrTable}} DDL command.}}<br />
{{CLArg|SqlDeleteColumnOrTable <1/0>|Allow the {{ms|SqlDeleteColumnOrTable}} DDL command.}}<br />
{{CLArg|SqlRebuildTable <1/0>|Allow the {{ms|SqlRebuildTable}} DDL command. This has the same effect as setting {{ms|SqlAllowDDL}}.}}<br />
{{CLArg|SqlAlterColumn <1/0>|Allow the {{ms|SqlAlterColumn}} DDL command.}}<br />
{{CLArg|DefaultAccessLevel <n>|Set the access level of new characters. This should be 0 for any production system.}}<br />
{{CLArg|LogDir <dir>|Set the log file directory. Default is {{ms|logs}} inside the game data directory.}}<br />
{{CLArg|AssertMode "<modes>"|Set the behavior of assertion failures. Multiple modes can be specified if the argument is wrapped in quotes. Possible modes are:<br />
{{CommandLineTable|<br />
{{CLArg|Minidump|Create minidumps (.mdmp) on failure.}}<br />
{{CLArg|Fulldump|Create full dumps (.dmp) on failure.}}<br />
{{CLArg|Exit|Exit on failure.}}<br />
{{CLArg|NoTimestamp|Don't name dump files with timestamps.}}<br />
{{CLArg|NoDate|Same as {{ms|NoTimestamp}}.}}<br />
{{CLArg|Zip|Zip the dump files.}}<br />
{{CLArg|Ignore|Enable the ignore button on assertions.}}<br />
}}}}<br />
{{CLArg|MaxPlayers <num>|The maximum number of players that can be connected at any time. The maximum value is AUTH_SIZE_MAX (8191):<br />
<pre><br />
#define AUTH_SIZE_MAX (((1<<14)/2)-1) //so Auth server treats any number (1<<14) or bigger as being zero. So we're saying that you<br />
//can't have a max size > 1<<13-1 so that you can have 1<<13 available for the queue.</pre>}}<br />
{{CLArg|LoginsPerMinute <num>|''Unsure what this is. It's only used in one place, queueservercomm, so it doesn't actually seem to be a server-side login attempt limiter.''}}<br />
{{CLArg|MinPlayers <num>|''Unsure about this. It's only ever sent to authserver when it queries how many are online, but that code is dead:<br />
<pre><br />
if (server_cfg.min_players && 0 /*sqlFifoNearFull()*/)<br />
authPutU16(pak,server_cfg.min_players);<br />
else<br />
authPutU16(pak,AUTH_SIZE_MAX+server_cfg.max_players);<br />
</pre>}}<br />
{{CLArg|UseQueueServer <1/0>|Enable or disable the use of the [[queueserver]].}}<br />
{{CLArg|BlockFreePlayersIfNoAccountServer <1/0>|Put F2P players in the queue if the account server is down. ''Presumably? clientcomm s_skipQueue''}}<br />
{{CLArg|EnqueueWithAuthLimiter <1/0>|''Let people into the shard even if we would queue them normally?''}}<br />
{{CLArg|NoStats <1/0>|Disable the statserver; have the launcher send {{ms|-nostats}} to mapservers.}}<br />
{{CLArg|ClientProject <name>|Set the "registry name". This is used to construct the path to the Windows registry keys. Default is {{ms|CoH}}.}}<br />
{{CLArg|MapServerParams "<params>"|Extra parameters to send to launched mapservers.}}<br />
{{CLArg|DiffDebug <1/0>|Possibly perform extra verification checks on containers? Sends {{ms|-diffdebug}} to launched mapservers.}}<br />
{{CLArg|ContainerSizeDebug <1/0>|Possibly perform extra verification checks on containers?}}<br />
{{CLArg|UseLogServer <1/0>|Enable the logserver.}}<br />
{{CLArg|LogServer <ip>|Set the IP address of the logserver. This implies enabling the logserver.}}<br />
{{CLArg|LogRelayVerbose <1/0>|Enable verbose logging. ''Of what? Inter-server handover?''}}<br />
{{CLArg|ChatServer <ip>|Set the IP address of the chatserver.}}<br />
{{CLArg|ChangeDbOwnerFrom <name>|Runs some kind of stored procedure. {{ms|// requested by joe phillips}}}}<br />
{{CLArg|MaxLevel <n>|Appears to be global max level for NPCs. It doesn't seem to be max level for characters, which you might think.}}<br />
{{CLArg|MaxCoHLevel <n>|NPC max level for blue zones?}}<br />
{{CLArg|MaxCoVLevel <n>|NPC max level for red zones?}}<br />
{{CLArg|MaxDualSlots <n>|Number of shared H/V character slots per player? Default is 12, maximum is 48.}}<br />
{{CLArg|BackupDays <days>|Number of days to keep stored backups (characters?) for. Minimum is 30 days.}}<br />
{{CLArg|OfflineProtectLevel <level>|Highest level of character that can be moved to offline storage. Default is 35. ''Probably?''}}<br />
{{CLArg|OfflineIdleDays <days>|Number of days before a character is moved to offline storage.}}<br />
{{CLArg|CompleteBrokenTasks <1/0>|Sends {{ms|-completebrokentasks}} to launched mapservers. ''Document what this does.''}}<br />
{{CLArg|DroppedPacketLogging <1/0>|Log when packets are dropped or received out of order.}}<br />
{{CLArg|AuthBadPacketReconnect <1/0>|Extra verification on auth packets?}}<br />
{{CLArg|MasterBeaconServer <host>|Hostname for the master beaconserver.}}<br />
{{CLArg|DoNotLaunchMasterBeaconServer <1/0>|Don't launch the master beaconserver.}}<br />
{{CLArg|RequestBeaconServerCount <n>|Number of beaconrequestservers to launch. Negative values correspond to 2. Default is -1.}}<br />
{{CLArg|DoNotPreloadCrashReportDLL <1/0>|Don't preload the crash report DLL.}}<br />
{{CLArg|BeaconRequestCacheDir <dir>|Cache directory for requests made to the beaconservers. ''Probably.''}}<br />
{{CLArg|DoNotLaunchBeaconClients <1/0>|Don't launch any beaconclients.}}<br />
{{CLArg|DoNotLaunchMapServerTSR <1/0>|Don't launch any TSR mapservers. TSR mapservers preload data to shared memory to make loading other mapservers faster.}}<br />
{{CLArg|RaidTimeZoneDelta <decimal>|Difference in hours between the time on the mapserver and the dbserver. Default comes from the OS. ''This is sent from dbserver to mapserver, but doesn't seem used?''}}<br />
{{CLArg|DisableContainerBackups <1/0>|Disable on-disk container backups.}}<br />
{{CLArg|XPScale <decimal>|Experience multiplier. Default is 1.0.}}<br />
{{CLArg|AuctionInvMaxLastLoginDays <n>|Auction entries for accounts that have not logged in in this many days are not sent. Default is 60.}}<br />
{{CLArg|AuthnameLimiterEnabled <1/0>|''This is associated with BlockFreePlayersIfNoAccountServer and EnqueueWithAuthLimiter, but I'm really not sure what it's for.''}}<br />
{{CLArg|AuthnameLimiterAccessLevel <n>|Characters greater than this access level can bypass the auth limiter.}}<br />
{{CLArg|BlockedMapKey <maps...>|A comma or space delimited list of map keys to not load.}}<br />
{{CLArg|DisabledZoneEvents <events...>|A comma or space delimited list of disabled zone events.}}<br />
{{CLArg|ClientCommands "<commands>"|A list of commands to be executed by the client upon connection. See [[Client-to-dbserver#DBGAMESERVER_SEND_PLAYERS]].}}<br />
{{CLArg|AuthRequestGameData|Deprecated.}}<br />
{{CLArg|MissionserverMaxSendQueueSize <n>|The maximum amount of bytes allowed in the send queue to the [[missionserver]]. Default is {{ms|DB_MISSIONSERVER_MAX_SENDQUEUE_SIZE_DEFAULT}} (1000000).}}<br />
{{CLArg|MissionserverMaxSendQueuePublishSize <n>|The maximum amount of bytes allowed in the publish queue to the [[missionserver]]. Default is {{ms|DB_MISSIONSERVER_MAX_SENDQUEUE_SIZE_DEFAULT}} (500000).}}<br />
{{CLArg|Locale <name>|The locale of the shard. This must either be a locale name or 0 (in which case English is chosen). Possible values are:<br />
: {{ms|en}}: English<br />
: {{ms|test}}: Test locale<br />
: {{ms|zh}}: Chinese<br />
: {{ms|ko}}: Korean<br />
: {{ms|ja}}: Japanese<br />
: {{ms|de}}: German<br />
: {{ms|fr}}: French<br />
: {{ms|es}}: Spanish<br />
}}<br />
{{CLArg|OverrideAuthBit <names...>|Force user authbits to be set regardless of the state in the database. The format is comma or space-separated authbit names; see {{ms|authUserData.c:authUserSetFieldByName}}.}}<br />
{{CLArg|IsBetaShard <1/0>|Whether or not this shard is a beta shard. On beta shards, users can use the broken mission fix every 10 minutes, rather than every 3 days.}}<br />
{{CLArg|IsVIPShard <1/0>|Whether or not this shard is a VIP shard. Only accounts marked as VIP can log into this shard.}}<br />
{{CLArg|AllowGR|Deprecated.}}<br />
{{CLArg|AllowGREndgame|Deprecated.}}<br />
{{CLArg|AllowIssue20|Deprecated.}}<br />
{{CLArg|AllowPraetorians|Deprecated.}}<br />
{{CLArg|OwnsGoingRogue <1/0>|Set/unset the Going Rogue authbit. Only works on FakeAuth shards.}}<br />
{{CLArg|PraetoriaZonesLocked|Deprecated.}}<br />
{{CLArg|GoingRogueNagAndPurchase <1/0>|Show the nag dialogs and buy button for Going Rogue.}}<br />
{{CLArg|KarmaEventHistoryDays <1/0>|How many days of past karma event history to read on load. Default is 30.}}<br />
{{CLArg|NameLockTimeout <n>|Number of seconds to keep character names temporarily reserved. This must be greater than the client refresh time, which is 600. Default is 1200.}}<br />
{{CLArg|SetLogLevel <logtype> <level>|Set the log level of the various log types. This directive can appear multiple times. Possible levels are:<br />
{{CommandLineTable|<br />
{{CLArg|-2|DISABLED; do not log anything.}}<br />
{{CLArg|-1|ALERT; this is so important that someone should be notified.}}<br />
{{CLArg|0|IMPORTANT; only the most important information. Default value.}}<br />
{{CLArg|1|VERBOSE; information that we would like, but has the possibility of spamming the logs with too much data.}}<br />
{{CLArg|2|DEPRECATED; there are old things that are doubtful we should even be logging.}}<br />
{{CLArg|3|DEBUG; lots of information for debugging only.}}<br />
}}<br />
Possible log types are listed below. They are case-insensitive.<br />
<br />
==== General ====<br />
{{CommandLineTable|<br />
{{CLArg|crashDetails|Crash reports}}<br />
{{CLArg|debug|Logs for debugging purposes. Usually temporary, while the bug is being tracked down.}}<br />
{{CLArg|persist|Logs for the text journaling system}}<br />
{{CLArg|error|Errors we want to know about sent here}}<br />
{{CLArg|old|Log messages that are probably worthless are sent here, on the off-chance we still need them}}<br />
{{CLArg|TestClient|Used to generate output from test clients}}<br />
{{CLArg|packets|Packet logging}}<br />
}}<br />
==== dbserver ====<br />
{{CommandLineTable|<br />
{{CLArg|delete|Proof they deleted their character}}<br />
{{CLArg|offline|Players getting moved out of the db into text}}<br />
{{CLArg|SystemSpecs|Log users system specs when the connect to db}}<br />
{{CLArg|OverloadProtection|Overload protection messages}}<br />
{{CLArg|CharSlotApply|Proof they committed a character slot to a shard}}<br />
}}<br />
==== Mapserver ====<br />
{{CommandLineTable|<br />
{{CLArg|entity|General log of things on entities (no chat, powers, or rewards related)}}<br />
{{CLArg|powers|Power Info (may be redundant since chat records lots of powers information)}}<br />
{{CLArg|supergroup|Supergroup specific things}}<br />
{{CLArg|bug|Player reported bugs}}<br />
{{CLArg|chat|Chat}}<br />
{{CLArg|cheaters|Egregious cheats sent here}}<br />
{{CLArg|rewards|Anything to do with player inventory should go here}}<br />
{{CLArg|sze_rewards|Scripted zone event reward logs}}<br />
{{CLArg|survey|''Seems to be some special kind of bug report from the client.''}}<br />
{{CLArg|cmds|Access level commands. These are commands with AccessLevel < ACCESS_DEBUG (9).}}<br />
{{CLArg|internalcmds|Internal commands. These are commands with AccessLevel >= ACCESS_DEBUG.}}<br />
{{CLArg|MARTY|MARTY (anti-cheat system) logs.}}<br />
{{CLArg|Admin|Logs admin commands. ''Seems to mostly be used for logging the stuck mission complete function.''}}<br />
{{CLArg|Performance|Performance logs}}<br />
{{CLArg|DuplicateMessageIDs|Log for duplicate message ids. Probably for duplicate localization string hashes.}}<br />
}}<br />
==== Accountserver ====<br />
{{CommandLineTable|<br />
{{CLArg|Account|Generic account log}}<br />
{{CLArg|Transaction|Account transaction log}}<br />
}}<br />
==== Arenaserver ====<br />
{{CommandLineTable|<br />
{{CLArg|ArenaEvent|In depth arena event logs.}}<br />
}}<br />
==== Auctionserver ====<br />
{{CommandLineTable|<br />
{{CLArg|Auction|Auction log}}<br />
{{CLArg|Xaction|Auction transaction log}}<br />
}}<br />
==== Missionserver ====<br />
{{CommandLineTable|<br />
{{CLArg|DeletedArcs|Log for deleted/deleting arcs.}}<br />
{{CLArg|missionserver|Generic missionserver logs.}}<br />
}}<br />
==== Raidserver ====<br />
{{CommandLineTable|<br />
{{CLArg|iop|Items of Power log.}}<br />
}}<br />
==== Statserver ====<br />
{{CommandLineTable|<br />
{{CLArg|statserver|Statserver log.}}<br />
}}<br />
==== Turnstileserver ====<br />
{{CommandLineTable|<br />
{{CLArg|turnstile|Turnstileserver log.}}<br />
}}<br />
}}<br />
{{CLArg|IsLoggingMaster <1/0>|If 1, this server will propagate the configured loglevels to all of the connected servers.}}<br />
{{CLArg|MARTYEnabled <1/0>|Enable/disable the MARTY anti-cheat.}}<br />
}}<br />
<br />
== Example ==<br />
<nowiki>DBServer 127.0.0.1<br />
ShardName SCRUBBED<br />
UseFakeAuth 1<br />
#AuthServer 127.0.0.1<br />
DefaultAccessLevel 255<br />
NoStats 1<br />
<br />
LocalIP 127.0.0.1<br />
MaxPlayers 300<br />
AssertMode Fulldump<br />
UseQueueServer 0<br />
UseLogServer 0<br />
OverrideAuthBit RogueAccess<br />
ChatServer 127.0.0.1<br />
KarmaEventHistoryDays 30<br />
MapserverIdleUpkeep 20<br />
MapserverIdleExit 20<br />
FastStart 1<br />
MaxPlayerSlots 1000<br />
MaxDualSlots 1000<br />
AuctionInvMaxLastLoginDays 1000<br />
<br />
// BeaconMasterServer 192.168.0.1<br />
RequestBeaconServerCount 0<br />
BeaconRequestCacheDir "c:\beaconrequestcache"<br />
DoNotLaunchBeaconClients 1<br />
DoNotLaunchMapserverTSRs 0<br />
<br />
AuthnameLimiterEnabled 0<br />
AuthnameLimiterAccessLevel 20<br />
<br />
SetLogLevel "Auction" -2<br />
SetLogLevel "Chat" 1<br />
SetLogLevel "Admin" -2<br />
SetLogLevel "Bug" -2<br />
SetLogLevel "CharSlotApply" -2<br />
SetLogLevel "Debug" -2<br />
SetLogLevel "Delete" -2<br />
SetLogLevel "deletion" -2<br />
SetLogLevel "entity" -2<br />
SetLogLevel "Error" -2<br />
SetLogLevel "cheaters" -2<br />
SetLogLevel "MARTY" -2<br />
SetLogLevel "Offline" -2<br />
SetLogLevel "Powers" -2<br />
SetLogLevel "Rewards" -2<br />
SetLogLevel "SuperGroup" -2<br />
SetLogLevel "SystemSpecs" -2<br />
SetLogLevel "sze_rewards" -2<br />
SetLogLevel "turnstile" -2<br />
SetLogLevel "cmds" -2<br />
SetLogLevel "internalcmds" 1<br />
<br />
SqlDbProvider mssql<br />
SqlDbName coh<br />
SqlAllowDDL 1<br />
SqlLogin "Driver={SQL Server Native Client 11.0};server=localhost;database=coh;trusted_connection=Yes;"<br />
SqlInit 1</nowiki></div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Main_Page&diff=928Main Page2019-05-12T18:37:03Z<p>Bevinsky: HTML and CSS is the devil's creation.</p>
<hr />
<div>{| style="width:100%; background:#4a2a2a; margin-top: 0.6em; border:1px solid #a2a9b1; text-align:center; font-weight:bold"<br />
||<br />
Note: OuroDev is purely a not-for-profit, volunteer group. Anyone asking for donations on behalf of OuroDev or any of its contributors does not represent the group and should be ignored.<br />
|}<br />
<br />
{| style="width:100%; background:#2a2a2a; margin-top: 0.6em; border:1px solid #a2a9b1; padding: 0 4% 0 8%;"<br />
| style="width:65%;" |<br />
<br />
{| style="border:none; background:none;"<br />
| style="text-align:center; white-space:nowrap;" |<br />
<div style="font-size:162%; border:none; padding:.1em;">Welcome to OuroWiki,</div><br />
<div style="top:+0.2em; font-size:95%;">the Project Ouroboros Development wiki.</div><br />
<div id="articlecount" style="width:100%; text-align:center; font-size:85%;">We are hosting [[Special:AllPages|{{NUMBEROFPAGES}}]] pages.</div><br />
<div id="visionstatement" style="width:100%; text-align:center; font-size: 85%>Please read our [[OuroDev_Volume_2_Vision|Vision Statement]].</div><br />
|}<br />
<!--<br />
| style="width:40%; font-size:85%; padding:0.6em; padding-right:5%" |<br />
The '''Ouroboros''' Project is an ongoing volunteer effort. Please read our [[OuroDev_Volume_2_Vision|Vision Statement]].<br />
--><br />
| style="width:35%; white-space:nowrap;" |<br />
: [[File:Gitea.png|30px|link=https://git.ourodev.com/CoX/Source]] <span style="font-size:120%">[https://git.ourodev.com/CoX/Source Gitea]</span><br />
: [[File:Mantis.png|30px|link=https://bugs.ourodev.com/]] <span style="font-size:120%">[https://bugs.ourodev.com/ Mantis]</span><br />
: [[File:Discord.png|30px|link=OuroDev Discord]] <span style="font-size:120%">[[OuroDev Discord|Discord]]</span><br />
: [[File:PortalCorps.png|30px|link=https://corps.ouro-comdev.com]] <span style="font-size:120%">[https://corps.ouro-comdev.com/ Portal Corps]</span> <span style="font-size:85%">(Content Creation)</span><br />
|}<br />
<br />
{| style="width:100%; margin-top: 0.6em"<br />
| style="width:75%;vertical-align:top;padding-right:0.6em" |<br />
{| style="width:100%; background:#2a2a2a; border:1px solid #a2a9b1; padding:0.6em; vertical-align:top"<br />
| style="width:100%" colspan=4 |<br />
<h2 style="padding-top:0;margin-top:0">[[Server Architecture]]</h2><br />
|-<br />
| style="width:25%; vertical-align:top" |<br />
<h3 style="padding-top:0;margin-top:0"> Assets </h3><br />
* [[Server directory structure|Directory structure]]<br />
* [[Piggs]] and [[Hoggs]]<br />
==== Binary assets ====<br />
* [[BCN maps]]<br />
==== Textual assets ====<br />
* [[maps.db]] ''configuration?''<br />
* [[script.loc]]<br />
* [[SpawnArea]]<br />
* [[Templates]]<br />
<br />
| style="width:25%; vertical-align:top" |<br />
<h3 style="padding-top:0;margin-top:0"> Components </h3><br />
* [[dbserver]]<br />
* [[mapserver]]<br />
* [[launcher]]<br />
* [[chatserver]]<br />
* [[authserver]]<br />
* [[accountserver]]<br />
* [[arenaserver]]<br />
* [[missionserver]]<br />
* [[auctionserver]]<br />
* [[queueserver]]<br />
<br />
| style="width:25%; vertical-align:top" |<br />
<h3 style="padding-top:0;margin-top:0"> Configurations </h3><br />
* [[servers.cfg]]<br />
* [[loadBalance]]<br />
* [[turnstile_server.cfg]]<br />
* [[auction_server.cfg]]<br />
* [[account_server.cfg]]<br />
* [[chat_server.cfg]]<br />
* [[commands.cfg]]<br />
* [[weeklytf.cfg]]<br />
* [[version.ini]]<br />
* [[Other configurations]]<br />
<br />
| style="width:25%;vertical-align:top" |<br />
<h3 style="padding-top:0;margin-top:0"> Tools </h3><br />
* [[pig.exe]]<br />
* [[ServerMonitor]]<br />
* [[dbquery.exe]]<br />
<br />
=== Protocols ===<br />
* [[Network protocol]]<br />
==== Client-server protocols ''Does this need its own page?'' ====<br />
* [[Client-to-authserver]]<br />
* [[Client-to-dbserver]]<br />
* [[Client-to-mapserver]]<br />
==== Server protocols ====<br />
* [[Dbserver-protocols]]<br />
<br />
|}<br />
| style="width:25%;vertical-align:top" |<br />
{| style="width:100%; background:#2a2a2a; border:1px solid #a2a9b1; padding:0.6em; vertical-align:top"<br />
| style="width:100%" colspan=1 |<br />
<h2 style="padding-top:0;margin-top:0">[[Client Architecture]]</h2><br />
|-<br />
| style="width:100%;" |<br />
<h3 style="padding-top:0;margin-top:0"> TODO </h3><br />
* TODO<br />
|}<br />
<br />
|}<br />
<br />
{| style="width:100%; background:#2a2a2a; margin-top: 0.6em; border:1px solid #a2a9b1; text-align:center; font-size:130%"<br />
| style="width:50%" |<br />
[[i24 install guide|I want to help develop!]]<br />
| style="width:50%" |<br />
[[i25 Community Virtual Machines|I just want to run a server!]]<br />
|}<br />
<br />
{| style="width:100%; margin-top: 0.6em"<br />
| style="width:50%; background:#2a2a2a; border:1px solid #a2a9b1; padding:0.6em; vertical-align:top" |<br />
<br />
<h2 style="margin-top:0;padding-top:0">Issue 24</h2><br />
Issue 24 (stylized as i24) was the last publicly accessible version of the game before it was shut down. i24 was deployed on the test server, but had not yet been released to live servers.<br />
<br />
== OuroDev Volume 2 Development ==<br />
=== Details ===<br />
* [[OuroDev_Volume_2_Vision|OuroDev Volume 2 Vision]]<br />
* [[OuroDev_Volume_2_Roadmap|OuroDev Volume 2 Roadmap]]<br />
<br />
=== Workflow ===<br />
* [[OuroDev_Git_Workflow|OuroDev Git Workflow]] <br />
* [[OuroDev_issue_tracker_workflow| OuroDev Issue Tracker Workflow]]<br />
* [[OuroDev_QA_workflow|OuroDev QA Workflow]]<br />
<br />
=== Guidelines ===<br />
* [[OuroDev_Code_Style_Guide|OuroDev Code Style Guide]]<br />
* [[OuroDev_Bug_Report_Guidelines|OuroDev Bug report Guidelines]]<br />
<br />
== General i24 Development ==<br />
=== Guides ===<br />
* [[source locations|Where to get the source]]<br />
* [[i24_install_guide|Install guide for setting up i24]]<br />
* [[i24 Common Setup Issues]]<br />
* [[i24 Commands|i24 admin commands (in-game)]]<br />
* [[Server Configuration Values]]<br />
* [[Server Executable Flags]]<br />
* [[Using /mmm]] (in-game console)<br />
<br />
=== Documentation ===<br />
* [[system_architecture_image|System Architecture Image]]<br />
* [[map_server_overview|Map Server]]<br />
<br />
=== Tools Needed ===<br />
* An installation of Windows (verified working: 10 Pro, Server 2019 Standard)<br />
* [http://download.microsoft.com/download/D/B/C/DBC11267-9597-46FF-8377-E194A73970D6/vs_proweb.exe Visual Studio 2010 Professional] Web download<br />
* [https://www.microsoft.com/en-us/download/details.aspx?id=29062 Microsoft® SQL Server® 2012 Express]<br />
* [https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-2017 SQL Server Management Studio] (SMSS)<br />
<br />
=== Torrent links ===<br />
* [[magnet links]]<br />
<br />
=== Useful Future Links? ===<br />
* [https://cohrevival.com/codex/models.html Model Index]<br />
<br />
| style="width:50%; background:#2a2a2a; border:1px solid #a2a9b1; padding:0.6em; vertical-align:top" |<br />
<br />
<h2 style="margin-top:0;padding-top:0">[[i25 Main Page|Issue 25]]</h2><br />
Issue 25 (stylized as i25) was extended from an i24 base by SCoRE (Secret Cabal of Reverse Engineers) over the course of six years. It included additional content for i24 power sets, added the P2W Vendor, and fixed a good number of bugs.<br />
<br />
=== Client Setup Guide ===<br />
* [[i25 Client Setup]]<br />
<br />
=== Server Setup Guide ===<br />
* [[i25 Server Setup]]<br />
* [[i25 Multiple Server Setup]]<br />
* [[i25 Community Virtual Machines]]<br />
* [https://gofile.io/?c=w56I8R Video Guide from scratch]<br />
<br />
=== Commonly Asked Questions/Problems ===<br />
* [[i25 FAQ]]<br />
* [[i25 Command Lists]]<br />
<br />
=== Downloads and Community Tools ===<br />
* [[i25 Downloads]]<br />
* [[i25 Populate Auction Server]]<br />
<br />
=== Reference Documents ===<br />
* [https://drive.google.com/file/d/1eZqIZnhEYDoRAJeoCotyKhWZZG07mrft/view City of Heroes Document]<br />
* [[Cryptic Reference Document]]<br />
<br />
=== i25 Patch Notes ===<br />
* [https://docs.google.com/document/d/11cLJiSYlfueJheOumRywG8Evip2Mjmu_30Y6ePaetqY i25 Patch Notes]<br />
<br />
|}<br />
<br />
{| style="width:100%; background:#2a2a2a; margin-top: 0.6em; border:1px solid #a2a9b1; padding:0.6em; vertical-align: top"<br />
| style="width:100%; vertical-align:top" |<br />
<br />
== Quality of Life ==<br />
* [[VidiotMaps]] (suitable for use with either i24 or i25)<br />
* [[Account_Portal]] (A PHP application to allow users to create their own accounts and change their passwords.)<br />
<br />
|}<br />
<br />
__NOTOC__<br />
__NOEDITSECTION__<br />
<!-- Hide page title. For better results use an extension like NoTitle. --><br />
{{DISPLAYTITLE:<span style="position: absolute; clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px);">{{FULLPAGENAME}}</span>}}</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=PIGG&diff=1769PIGG2019-05-12T15:38:07Z<p>Bevinsky: </p>
<hr />
<div><br />
(WORK IN PROGRESS)<br />
I am not sure how much of this is posted anywhere else, and right now I am just pulling information from my notes and will be adding more and more details as time goes on. If anyone already has this all broken down they are invited to fill in what they have. * DragonSire<br />
<br />
{| class="wikitable" style="width:50%"<br />
|+PIGG File Structure (Header)<br />
! style="text-align: center; font-weight:bold; font-size:16px; background-color:#5578dd;width:20%;" | DataType<br />
! style="text-align: center; font-weight:bold; font-size:16px; background-color:#5578dd;width:10%;" | Size<br />
! style="text-align: center; font-weight:bold; font-size:16px; background-color:#5578dd;width:30%;" | Description<br />
! style="text-align: center; font-weight:bold; font-size:16px; background-color:#5578dd;width:20%;" | Notes<br />
|-<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | Integer/UInteger<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | 4 Bytes<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | Identifier<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | This used to be 291, Not sure currently<br />
|-<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | Short/UShort<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | 2 Bytes<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | Unknown1<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | 2<br />
|-<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | Short/UShort<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | 2 Bytes<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | Unknown2<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | 2<br />
|-<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | Short<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | 2 Bytes<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | Unknown3<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | 16<br />
|-<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | Short/UShort<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | 2 Bytes<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | Size of Directory Info<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | <br />
|-<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | Integer/UInteger<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | 4 Bytes<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | Number of Directories<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | <br />
|}<br />
{| class="wikitable" style="width:50%"<br />
|+PIGG File Structure (Internal Directory Structure)<br />
! style="text-align: center; font-weight:bold; font-size:16px; background-color:#5578dd;width:20%;" | DataType<br />
! style="text-align: center; font-weight:bold; font-size:16px; background-color:#5578dd;width:10%;" | Size<br />
! style="text-align: center; font-weight:bold; font-size:16px; background-color:#5578dd;width:30%;" | Description<br />
! style="text-align: center; font-weight:bold; font-size:16px; background-color:#5578dd;width:20%;" | Notes<br />
|-<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | Integer/UInteger<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | 4 Bytes<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | Directory Marker<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | 13398<br />
|-<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | Integer/UInteger<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | 4 Bytes<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | Bytes<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | <br />
|-<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | Integer/UInteger<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | 4 Bytes<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | File Size<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | <br />
|-<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | Integer/UInteger<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | 4 Bytes<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | Time Stamp<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | UInt32 to Time Convert<br />
|-<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | Integer/UInteger<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | 4 Bytes<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | File Offset<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | <br />
|-<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | Integer/UInteger<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | 4 Bytes<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | Unknown 1<br />
| style="text-align: center; font-size:15px; background-color:#dae8fc;" | <br />
|-<br />
| style="text-align: center; background-color:#dae8fc;" | Integer/UInteger<br />
| style="text-align: center; background-color:#dae8fc;" | 4 Bytes<br />
| style="text-align: center; background-color:#dae8fc;" | Slot Index<br />
| style="text-align: center; background-color:#dae8fc;" | <br />
|-<br />
| style="text-align: center; background-color:#dae8fc;" | Bytes<br />
| style="text-align: center; background-color:#dae8fc;" | 16 Bytes<br />
| style="text-align: center; background-color:#dae8fc;" | MD5<br />
| style="text-align: center; background-color:#dae8fc;" | <br />
|-<br />
| style="text-align: center; background-color:#dae8fc;" | Integer/UInteger<br />
| style="text-align: center; background-color:#dae8fc;" | 4 Bytes<br />
| style="text-align: center; background-color:#dae8fc;" | File Size Compressed<br />
| style="text-align: center; background-color:#dae8fc;" | <br />
|}</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Main_Page&diff=873Main Page2019-05-10T20:35:02Z<p>Bevinsky: </p>
<hr />
<div><!--<br />
Notes area.<br />
<br />
Stole some of the layout inspiration from gametech emugen wiki.<br />
<br />
TODO: Adapt the structure of the main page to move Howtos to their own sections, and also consolidate specific component topics. I sent the below suggested basic structure to TMC earlier. This is simply a concept for content and organization, and it doesn't have to be followed to the letter, but these are my thoughts in any case. --Bevinsky<br />
<br />
Walkthroughs<br />
- [[Basic i24 Walkthrough]]<br />
- [[Basic i25 Walkthrough]]<br />
<br />
# i24 and i25 are very similar. Instead of having separate pages<br />
# for each of these items, it might be better to cover differences on each page.<br />
# -- Perhaps this is not a desired idea?<br />
<br />
# document directory structure:<br />
# - Executable/datadir structure<br />
# - other dirs, such as C:\coh_data\attributes?<br />
[[Directories]] <br />
<br />
# Should assemble magnet links for specific assets?<br />
[[Assets]] # explain client piggs/bins, server bins, maps, SpawnAreas, script.loc<br />
- [[maps.db]] # Usage, format and directives<br />
- [[Templates & Attributes]] # template purpose, usage, generation method, and syntax<br />
<br />
# Document for each:<br />
# - Location<br />
# - Purpose, usage<br />
# - Full directive reference / file format<br />
Configurations<br />
- [[gamedatadir.txt]]<br />
- [[servers.cfg]]<br />
- [[loadBalance]] # for both loadBalanceDefault.cfg and loadBalanceShardSpecific.cfg<br />
- [[auction_server.cfg]]<br />
- [[account_server.cfg]]<br />
- [[chat_server.cfg]]<br />
- [[commands.cfg]]<br />
- [[weeklytf.cfg]] # shouldn't this be "weeklyTF.cfg"? is this changed in i25 or is it case-insensitive?<br />
- [[version.ini]]<br />
<br />
# Document for each component:<br />
# - basic purpose, usage<br />
# - command line flags reference<br />
# - common issues<br />
# - etc.<br />
[[Servers]] # Architecture description?<br />
- [[DBserver]]<br />
- [[Mapserver]]<br />
- [[Launcher]]<br />
- [[Chatserver]]<br />
- [[Authserver]]<br />
- [[Accountserver]]<br />
- [[Arenaserver]]<br />
- [[Missionserver]]<br />
- [[Auctionserver]]<br />
- etc? are there more?<br />
<br />
Tools<br />
- [[pig.exe]]<br />
- [[ServerMonitor]]<br />
<br />
Protocols?<br />
- Inter-server?<br />
- ?<br />
- Server-client?<br />
- [[Client-to-authserver]]<br />
- [[Client-to-dbserver]]<br />
- [[Client-to-mapserver]]<br />
<br />
Formats?<br />
- [[PIGG]] # pig.exe<br />
- [[Parse6]]<br />
- [[Parse7]]<br />
<br />
<br />
<br />
--><br />
{| style="width:100%; background:#4a2a2a; margin-top: 0.6em; border:1px solid #a2a9b1; text-align:center; font-weight:bold"<br />
||<br />
Note: OuroDev is purely a not-for-profit, volunteer group. Anyone asking for donations on behalf of OuroDev or any of its contributors does not represent the group and should be ignored.<br />
|}<br />
<br />
{| style="width:100%; background:#2a2a2a; margin-top: 0.6em; border:1px solid #a2a9b1; padding: 0 4% 0 8%;"<br />
| style="width:15%;" |<br />
<br />
{| style="width:100px; border:none; background:none;"<br />
| style="text-align:center; white-space:nowrap;" |<br />
<div style="font-size:162%; border:none; padding:.1em;">Welcome to OuroWiki,</div><br />
<div style="top:+0.2em; font-size:95%;">the Ouroboros Project wiki.</div><br />
<div id="articlecount" style="width:100%; text-align:center; font-size:85%;">There are [[Special:Statistics|{{NUMBEROFARTICLES}}]] articles already. Why not explore them?</div><br />
|}<br />
<br />
| style="width:40%; font-size:85%; padding:0.6em; padding-right:5%" |<br />
The '''Ouroboros Project''' is an ongoing volunteer effort that is taking a three-pronged approach to making City of Heroes available to the public:<br />
# Actively providing documentation and support for setting up private deployments using released 'i25' binaries and 'i24' source.<br />
# Maintaining and releasing stable builds of the 'i24' client and server, including a public git repo and public bug tracker.<br />
# Providing a public wiki for documentation and transparency.<br />
<br />
| style="width:10%; white-space:nowrap;" |<br />
: [[File:Gitea.png|30px|link=https://git.ourodev.com/CoX/Source]] <span style="font-size:120%">[https://git.ourodev.com/CoX/Source Gitea]</span><br />
: [[File:Mantis.png|30px|link=https://bugs.ourodev.com/]] <span style="font-size:120%">[https://bugs.ourodev.com/ Mantis]</span><br />
: [[File:Discord.png|30px|link=OuroDev Discord]] <span style="font-size:120%">[[OuroDev Discord|Discord]]</span><br />
: [[File:PortalCorps.png|30px|link=https://corps.ouro-comdev.com]] <span style="font-size:120%">[https://corps.ouro-comdev.com/ Portal Corps]</span> <span style="font-size:85%">(Content Creation)</span><br />
|}<br />
<br />
{| style="width:100%; margin-top: 0.6em"<br />
| style="width:75%;vertical-align:top;padding-right:0.6em" |<br />
{| style="width:100%; background:#2a2a2a; border:1px solid #a2a9b1; padding:0.6em; vertical-align:top"<br />
| style="width:100%" colspan=4 |<br />
<h2 style="padding-top:0;margin-top:0">[[Server Architecture]]</h2><br />
|-<br />
| style="width:25%; vertical-align:top" |<br />
<h3 style="padding-top:0;margin-top:0"> Assets </h3><br />
* [[Server directory structure|Directory structure]]<br />
==== Binary assets ====<br />
* [[BCN maps]]<br />
==== Textual assets ====<br />
* [[maps.db]] ''configuration?''<br />
* [[script.loc]]<br />
* [[SpawnArea]]<br />
* [[Templates]]<br />
<br />
| style="width:25%; vertical-align:top" |<br />
<h3 style="padding-top:0;margin-top:0"> Components </h3><br />
* [[dbserver]]<br />
* [[mapserver]]<br />
* [[launcher]]<br />
* [[chatserver]]<br />
* [[authserver]]<br />
* [[accountserver]]<br />
* [[arenaserver]]<br />
* [[missionserver]]<br />
* [[auctionserver]]<br />
* [[queueserver]]<br />
<br />
| style="width:25%; vertical-align:top" |<br />
<h3 style="padding-top:0;margin-top:0"> Configurations </h3><br />
* [[servers.cfg]]<br />
* [[loadBalance]]<br />
* [[auction_server.cfg]]<br />
* [[account_server.cfg]]<br />
* [[chat_server.cfg]]<br />
* [[commands.cfg]]<br />
* [[weeklytf.cfg]]<br />
* [[Other configurations]]<br />
<br />
| style="width:25%;vertical-align:top" |<br />
<h3 style="padding-top:0;margin-top:0"> Tools </h3><br />
* [[pig.exe]]<br />
* [[ServerMonitor]]<br />
* [[dbquery.exe]]<br />
<br />
=== Protocols ===<br />
* [[Network protocol]]<br />
==== Client-server protocols ''Does this need its own page?'' ====<br />
* [[Client-to-authserver]]<br />
* [[Client-to-dbserver]]<br />
* [[Client-to-mapserver]]<br />
==== Server protocols ====<br />
* [[Dbserver-protocols]]<br />
<br />
|}<br />
| style="width:25%;vertical-align:top" |<br />
{| style="width:100%; background:#2a2a2a; border:1px solid #a2a9b1; padding:0.6em; vertical-align:top"<br />
| style="width:100%" colspan=1 |<br />
<h2 style="padding-top:0;margin-top:0">[[Client Architecture]]</h2><br />
|-<br />
| style="width:100%;" |<br />
<h3 style="padding-top:0;margin-top:0"> TODO </h3><br />
* TODO<br />
|}<br />
<br />
|}<br />
<br />
{| style="width:100%; background:#2a2a2a; margin-top: 0.6em; border:1px solid #a2a9b1; text-align:center; font-size:130%"<br />
| style="width:50%" |<br />
[[i24 install guide|I want to help develop!]]<br />
| style="width:50%" |<br />
[[i25 Community Virtual Machines|I just want to run a server!]]<br />
|}<br />
<br />
{| style="width:100%; margin-top: 0.6em"<br />
| style="width:50%; background:#2a2a2a; border:1px solid #a2a9b1; padding:0.6em; vertical-align:top" |<br />
<br />
<h2 style="margin-top:0;padding-top:0">Issue 24</h2><br />
Issue 24 (stylized as i24) was the last publicly accessible version of the game before it was shut down. i24 was deployed on the test server, but had not yet been released to live servers.<br />
<br />
== OuroDev Volume 2 Development ==<br />
=== Details ===<br />
* [[OuroDev_Volume_2_Vision|OuroDev Volume 2 Vision]]<br />
* [[OuroDev_Volume_2_Roadmap|OuroDev Volume 2 Roadmap]]<br />
<br />
=== Workflow ===<br />
* [[OuroDev_Git_Workflow|OuroDev Git Workflow]] <br />
* [[OuroDev_issue_tracker_workflow| OuroDev Issue Tracker Workflow]]<br />
* [[OuroDev_QA_workflow|OuroDev QA Workflow]]<br />
<br />
=== Guidelines ===<br />
* [[OuroDev_Code_Style_Guide|OuroDev Code Style Guide]]<br />
* [[OuroDev_Bug_Report_Guidelines|OuroDev Bug report Guidelines]]<br />
<br />
== General i24 Development ==<br />
=== Guides ===<br />
* [[source locations|Where to get the source]]<br />
* [[i24_install_guide|Install guide for setting up i24]]<br />
* [[i24 Common Setup Issues]]<br />
* [[i24 Commands|i24 admin commands (in-game)]]<br />
* [[Server Configuration Values]]<br />
* [[Server Executable Flags]]<br />
* [[Using /mmm]] (in-game console)<br />
<br />
=== Documentation ===<br />
* [[system_architecture_image|System Architecture Image]]<br />
* [[map_server_overview|Map Server]]<br />
<br />
=== Tools Needed ===<br />
* An installation of Windows (verified working: 10 Pro, Server 2019 Standard)<br />
* [http://download.microsoft.com/download/D/B/C/DBC11267-9597-46FF-8377-E194A73970D6/vs_proweb.exe Visual Studio 2010 Professional] Web download<br />
* [https://www.microsoft.com/en-us/download/details.aspx?id=29062 Microsoft® SQL Server® 2012 Express]<br />
* [https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-2017 SQL Server Management Studio] (SMSS)<br />
<br />
=== Torrent links ===<br />
* [[magnet links]]<br />
<br />
=== Useful Future Links? ===<br />
* [https://cohrevival.com/codex/models.html Model Index]<br />
<br />
| style="width:50%; background:#2a2a2a; border:1px solid #a2a9b1; padding:0.6em; vertical-align:top" |<br />
<br />
<h2 style="margin-top:0;padding-top:0">[[i25 Main Page|Issue 25]]</h2><br />
Issue 25 (stylized as i25) was extended from an i24 base by SCoRE (Secret Cabal of Reverse Engineers) over the course of six years. It included additional content for i24 power sets, added the P2W Vendor, and fixed a good number of bugs.<br />
<br />
=== Client Setup Guide ===<br />
* [[i25 Client Setup]]<br />
<br />
=== Server Setup Guide ===<br />
* [[i25 Server Setup]]<br />
* [[i25 Multiple Server Setup]]<br />
* [[i25 Community Virtual Machines]]<br />
* [https://gofile.io/?c=w56I8R Video Guide from scratch]<br />
<br />
=== Commonly Asked Questions/Problems ===<br />
* [[i25 FAQ]]<br />
* [[i25 Command Lists]]<br />
<br />
=== Downloads and Community Tools ===<br />
* [[i25 Downloads]]<br />
* [[i25 Populate Auction Server]]<br />
<br />
=== Reference Documents ===<br />
* [https://drive.google.com/file/d/1eZqIZnhEYDoRAJeoCotyKhWZZG07mrft/view City of Heroes Document]<br />
* [[Cryptic Reference Document]]<br />
<br />
=== i25 Patch Notes ===<br />
* [https://docs.google.com/document/d/11cLJiSYlfueJheOumRywG8Evip2Mjmu_30Y6ePaetqY i25 Patch Notes]<br />
<br />
|}<br />
<br />
{| style="width:100%; background:#2a2a2a; margin-top: 0.6em; border:1px solid #a2a9b1; padding:0.6em; vertical-align: top"<br />
| style="width:100%; vertical-align:top" |<br />
<br />
== Quality of Life ==<br />
* [[VidiotMaps]] (suitable for use with either i24 or i25)<br />
* [[Account_Portal]] (A PHP application to allow users to create their own accounts and change their passwords.)<br />
<br />
|}<br />
<br />
__NOTOC__<br />
__NOEDITSECTION__<br />
<!-- Hide page title. For better results use an extension like NoTitle. --><br />
{{DISPLAYTITLE:<span style="position: absolute; clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px);">{{FULLPAGENAME}}</span>}}</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=File:PortalCorps.png&diff=872File:PortalCorps.png2019-05-10T20:23:42Z<p>Bevinsky: Portal Corps logo.</p>
<hr />
<div>== Summary ==<br />
Portal Corps logo.</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Main_Page&diff=871Main Page2019-05-10T20:23:23Z<p>Bevinsky: </p>
<hr />
<div><!--<br />
Notes area.<br />
<br />
Stole some of the layout inspiration from gametech emugen wiki.<br />
<br />
TODO: Adapt the structure of the main page to move Howtos to their own sections, and also consolidate specific component topics. I sent the below suggested basic structure to TMC earlier. This is simply a concept for content and organization, and it doesn't have to be followed to the letter, but these are my thoughts in any case. --Bevinsky<br />
<br />
Walkthroughs<br />
- [[Basic i24 Walkthrough]]<br />
- [[Basic i25 Walkthrough]]<br />
<br />
# i24 and i25 are very similar. Instead of having separate pages<br />
# for each of these items, it might be better to cover differences on each page.<br />
# -- Perhaps this is not a desired idea?<br />
<br />
# document directory structure:<br />
# - Executable/datadir structure<br />
# - other dirs, such as C:\coh_data\attributes?<br />
[[Directories]] <br />
<br />
# Should assemble magnet links for specific assets?<br />
[[Assets]] # explain client piggs/bins, server bins, maps, SpawnAreas, script.loc<br />
- [[maps.db]] # Usage, format and directives<br />
- [[Templates & Attributes]] # template purpose, usage, generation method, and syntax<br />
<br />
# Document for each:<br />
# - Location<br />
# - Purpose, usage<br />
# - Full directive reference / file format<br />
Configurations<br />
- [[gamedatadir.txt]]<br />
- [[servers.cfg]]<br />
- [[loadBalance]] # for both loadBalanceDefault.cfg and loadBalanceShardSpecific.cfg<br />
- [[auction_server.cfg]]<br />
- [[account_server.cfg]]<br />
- [[chat_server.cfg]]<br />
- [[commands.cfg]]<br />
- [[weeklytf.cfg]] # shouldn't this be "weeklyTF.cfg"? is this changed in i25 or is it case-insensitive?<br />
- [[version.ini]]<br />
<br />
# Document for each component:<br />
# - basic purpose, usage<br />
# - command line flags reference<br />
# - common issues<br />
# - etc.<br />
[[Servers]] # Architecture description?<br />
- [[DBserver]]<br />
- [[Mapserver]]<br />
- [[Launcher]]<br />
- [[Chatserver]]<br />
- [[Authserver]]<br />
- [[Accountserver]]<br />
- [[Arenaserver]]<br />
- [[Missionserver]]<br />
- [[Auctionserver]]<br />
- etc? are there more?<br />
<br />
Tools<br />
- [[pig.exe]]<br />
- [[ServerMonitor]]<br />
<br />
Protocols?<br />
- Inter-server?<br />
- ?<br />
- Server-client?<br />
- [[Client-to-authserver]]<br />
- [[Client-to-dbserver]]<br />
- [[Client-to-mapserver]]<br />
<br />
Formats?<br />
- [[PIGG]] # pig.exe<br />
- [[Parse6]]<br />
- [[Parse7]]<br />
<br />
<br />
<br />
--><br />
{| style="width:100%; background:#4a2a2a; margin-top: 0.6em; border:1px solid #a2a9b1; text-align:center; font-weight:bold"<br />
||<br />
Note: OuroDev is purely a not-for-profit, volunteer group. Anyone asking for donations on behalf of OuroDev or any of its contributors does not represent the group and should be ignored.<br />
|}<br />
<br />
{| style="width:100%; background:#2a2a2a; margin-top: 0.6em; border:1px solid #a2a9b1; padding: 0 4% 0 8%;"<br />
| style="width:15%;" |<br />
<br />
{| style="width:100px; border:none; background:none;"<br />
| style="text-align:center; white-space:nowrap;" |<br />
<div style="font-size:162%; border:none; padding:.1em;">Welcome to OuroWiki,</div><br />
<div style="top:+0.2em; font-size:95%;">the Ouroboros Project wiki.</div><br />
<div id="articlecount" style="width:100%; text-align:center; font-size:85%;">There are [[Special:Statistics|{{NUMBEROFARTICLES}}]] articles already. Why not explore them?</div><br />
|}<br />
<br />
| style="width:40%; font-size:85%; padding:0.6em; padding-right:5%" |<br />
The '''Ouroboros Project''' is an ongoing volunteer effort that is taking a three-pronged approach to making City of Heroes available to the public:<br />
# Actively providing documentation and support for setting up private deployments using released 'i25' binaries and 'i24' source.<br />
# Maintaining and releasing stable builds of the 'i24' client and server, including a public git repo and public bug tracker.<br />
# Providing a public wiki for documentation and transparency.<br />
<br />
| style="width:10%; white-space:nowrap;" |<br />
: [[File:Gitea.png|30px|link=https://git.ourodev.com/CoX/Source]] <span style="font-size:120%">[https://git.ourodev.com/CoX/Source Gitea]</span><br />
: [[File:Mantis.png|30px|link=https://bugs.ourodev.com/]] <span style="font-size:120%">[https://bugs.ourodev.com/ Mantis]</span><br />
: [[File:Discord.png|30px|link=OuroDev Discord]] <span style="font-size:120%">[[OuroDev Discord|Discord]]</span><br />
: [[File:PortalCorps.png|30px|link=https://corps.ouro-comdev.com]] <span style="font-size:120%">[https://corps.ouro-comdev.com Portal Corps]</span> <span style="font-size:85%">(Content Creation)</span><br />
|}<br />
<br />
{| style="width:100%; margin-top: 0.6em"<br />
| style="width:75%;vertical-align:top;padding-right:0.6em" |<br />
{| style="width:100%; background:#2a2a2a; border:1px solid #a2a9b1; padding:0.6em; vertical-align:top"<br />
| style="width:100%" colspan=4 |<br />
<h2 style="padding-top:0;margin-top:0">[[Server Architecture]]</h2><br />
|-<br />
| style="width:25%; vertical-align:top" |<br />
<h3 style="padding-top:0;margin-top:0"> Assets </h3><br />
* [[Server directory structure|Directory structure]]<br />
==== Binary assets ====<br />
* [[BCN maps]]<br />
==== Textual assets ====<br />
* [[maps.db]] ''configuration?''<br />
* [[script.loc]]<br />
* [[SpawnArea]]<br />
* [[Templates]]<br />
<br />
| style="width:25%; vertical-align:top" |<br />
<h3 style="padding-top:0;margin-top:0"> Components </h3><br />
* [[dbserver]]<br />
* [[mapserver]]<br />
* [[launcher]]<br />
* [[chatserver]]<br />
* [[authserver]]<br />
* [[accountserver]]<br />
* [[arenaserver]]<br />
* [[missionserver]]<br />
* [[auctionserver]]<br />
* [[queueserver]]<br />
<br />
| style="width:25%; vertical-align:top" |<br />
<h3 style="padding-top:0;margin-top:0"> Configurations </h3><br />
* [[servers.cfg]]<br />
* [[loadBalance]]<br />
* [[auction_server.cfg]]<br />
* [[account_server.cfg]]<br />
* [[chat_server.cfg]]<br />
* [[commands.cfg]]<br />
* [[weeklytf.cfg]]<br />
* [[Other configurations]]<br />
<br />
| style="width:25%;vertical-align:top" |<br />
<h3 style="padding-top:0;margin-top:0"> Tools </h3><br />
* [[pig.exe]]<br />
* [[ServerMonitor]]<br />
* [[dbquery.exe]]<br />
<br />
=== Protocols ===<br />
* [[Network protocol]]<br />
==== Client-server protocols ''Does this need its own page?'' ====<br />
* [[Client-to-authserver]]<br />
* [[Client-to-dbserver]]<br />
* [[Client-to-mapserver]]<br />
==== Server protocols ====<br />
* [[Dbserver-protocols]]<br />
<br />
|}<br />
| style="width:25%;vertical-align:top" |<br />
{| style="width:100%; background:#2a2a2a; border:1px solid #a2a9b1; padding:0.6em; vertical-align:top"<br />
| style="width:100%" colspan=1 |<br />
<h2 style="padding-top:0;margin-top:0">[[Client Architecture]]</h2><br />
|-<br />
| style="width:100%;" |<br />
<h3 style="padding-top:0;margin-top:0"> TODO </h3><br />
* TODO<br />
|}<br />
<br />
|}<br />
<br />
{| style="width:100%; background:#2a2a2a; margin-top: 0.6em; border:1px solid #a2a9b1; text-align:center; font-size:130%"<br />
| style="width:50%" |<br />
[[i24 install guide|I want to help develop!]]<br />
| style="width:50%" |<br />
[[i25 Community Virtual Machines|I just want to run a server!]]<br />
|}<br />
<br />
{| style="width:100%; margin-top: 0.6em"<br />
| style="width:50%; background:#2a2a2a; border:1px solid #a2a9b1; padding:0.6em; vertical-align:top" |<br />
<br />
<h2 style="margin-top:0;padding-top:0">Issue 24</h2><br />
Issue 24 (stylized as i24) was the last publicly accessible version of the game before it was shut down. i24 was deployed on the test server, but had not yet been released to live servers.<br />
<br />
== OuroDev Volume 2 Development ==<br />
=== Details ===<br />
* [[OuroDev_Volume_2_Vision|OuroDev Volume 2 Vision]]<br />
* [[OuroDev_Volume_2_Roadmap|OuroDev Volume 2 Roadmap]]<br />
<br />
=== Workflow ===<br />
* [[OuroDev_Git_Workflow|OuroDev Git Workflow]] <br />
* [[OuroDev_issue_tracker_workflow| OuroDev Issue Tracker Workflow]]<br />
* [[OuroDev_QA_workflow|OuroDev QA Workflow]]<br />
<br />
=== Guidelines ===<br />
* [[OuroDev_Code_Style_Guide|OuroDev Code Style Guide]]<br />
* [[OuroDev_Bug_Report_Guidelines|OuroDev Bug report Guidelines]]<br />
<br />
== General i24 Development ==<br />
=== Guides ===<br />
* [[source locations|Where to get the source]]<br />
* [[i24_install_guide|Install guide for setting up i24]]<br />
* [[i24 Common Setup Issues]]<br />
* [[i24 Commands|i24 admin commands (in-game)]]<br />
* [[Server Configuration Values]]<br />
* [[Server Executable Flags]]<br />
* [[Using /mmm]] (in-game console)<br />
<br />
=== Documentation ===<br />
* [[system_architecture_image|System Architecture Image]]<br />
* [[map_server_overview|Map Server]]<br />
<br />
=== Tools Needed ===<br />
* An installation of Windows (verified working: 10 Pro, Server 2019 Standard)<br />
* [http://download.microsoft.com/download/D/B/C/DBC11267-9597-46FF-8377-E194A73970D6/vs_proweb.exe Visual Studio 2010 Professional] Web download<br />
* [https://www.microsoft.com/en-us/download/details.aspx?id=29062 Microsoft® SQL Server® 2012 Express]<br />
* [https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-2017 SQL Server Management Studio] (SMSS)<br />
<br />
=== Torrent links ===<br />
* [[magnet links]]<br />
<br />
=== Useful Future Links? ===<br />
* [https://cohrevival.com/codex/models.html Model Index]<br />
<br />
| style="width:50%; background:#2a2a2a; border:1px solid #a2a9b1; padding:0.6em; vertical-align:top" |<br />
<br />
<h2 style="margin-top:0;padding-top:0">[[i25 Main Page|Issue 25]]</h2><br />
Issue 25 (stylized as i25) was extended from an i24 base by SCoRE (Secret Cabal of Reverse Engineers) over the course of six years. It included additional content for i24 power sets, added the P2W Vendor, and fixed a good number of bugs.<br />
<br />
=== Client Setup Guide ===<br />
* [[i25 Client Setup]]<br />
<br />
=== Server Setup Guide ===<br />
* [[i25 Server Setup]]<br />
* [[i25 Multiple Server Setup]]<br />
* [[i25 Community Virtual Machines]]<br />
* [https://gofile.io/?c=w56I8R Video Guide from scratch]<br />
<br />
=== Commonly Asked Questions/Problems ===<br />
* [[i25 FAQ]]<br />
* [[i25 Command Lists]]<br />
<br />
=== Downloads and Community Tools ===<br />
* [[i25 Downloads]]<br />
* [[i25 Populate Auction Server]]<br />
<br />
=== Reference Documents ===<br />
* [https://drive.google.com/file/d/1eZqIZnhEYDoRAJeoCotyKhWZZG07mrft/view City of Heroes Document]<br />
* [[Cryptic Reference Document]]<br />
<br />
=== i25 Patch Notes ===<br />
* [https://docs.google.com/document/d/11cLJiSYlfueJheOumRywG8Evip2Mjmu_30Y6ePaetqY i25 Patch Notes]<br />
<br />
|}<br />
<br />
{| style="width:100%; background:#2a2a2a; margin-top: 0.6em; border:1px solid #a2a9b1; padding:0.6em; vertical-align: top"<br />
| style="width:100%; vertical-align:top" |<br />
<br />
== Quality of Life ==<br />
* [[VidiotMaps]] (suitable for use with either i24 or i25)<br />
* [[Account_Portal]] (A PHP application to allow users to create their own accounts and change their passwords.)<br />
<br />
|}<br />
<br />
__NOTOC__<br />
__NOEDITSECTION__<br />
<!-- Hide page title. For better results use an extension like NoTitle. --><br />
{{DISPLAYTITLE:<span style="position: absolute; clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px);">{{FULLPAGENAME}}</span>}}</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Servers.cfg&diff=851Servers.cfg2019-05-07T18:13:36Z<p>Bevinsky: </p>
<hr />
<div>{{DISPLAYTITLE:servers.cfg}}<br />
servers.cfg is the main configuration file for the [[dbserver]]. Other components load the file as well, including the [[launcher]], [[arenaserver]], [[raidserver]], and [[statserver]].<br />
<br />
The directives in the file are used to populate the global ServerCfg configuration. Directive names are also case-insensitive. Lines with a leading {{ms|#}} are ignored.<br />
<br />
== Configuration directives ==<br />
<br />
{{CommandLineTable|<br />
{{CLArg|DBServer <ip>|The IP address of the dbserver. This is used by other components to determine where to connect. ''Can this be a domain?''}}<br />
{{CLArg|DBServer<n> <ip>|Auxiliary dbservers. Launchers can connect to multiple dbservers; more servers are specified as {{ms|DBServer2}}, {{ms|DBServer3}}, etc.}}<br />
{{CLArg|UseFakeAuth <0/1>|Enable fake auth. This lets clients log in directly to the dbserver (with any account) instead of going via an authserver.}}<br />
{{CLArg|AuthServer <ip> <port>|The IP address and port to use when connecting to the authserver.}}<br />
{{CLArg|LocalIp <ips...>|Local IP addresses. If an address matches the top two octets of any address specified here, the dbserver considers it local. ''What is this actually for?''}}<br />
{{CLArg|SqlDbProvider <prov>|The SQL database type. The supported configurations are {{ms|mssql}} and {{ms|postgresql}}, but only MSSQL is properly tested on proper i24.}}<br />
{{CLArg|SqlDbName <db>|The name of the dbserver database. Most common name is {{ms|cohdb}}.}}<br />
{{CLArg|SqlLogin "<connstring>"|The connection string for the database connection. Example:<br />
<pre>"DRIVER={SQL Server Native Client 11.0};Server=localhost\SQLEXPRESS;Uid=sa;Pwd=YourL33TPASS!;"<br />
</pre>}}<br />
{{CLArg|SqlInit "<query>"|An SQL query to initialize the dbserver database for the first time. If {{ms|SqlDbName}} is {{ms|cohdb}}, this could be:<br />
<pre>"CREATE DATABASE cohdb;"</pre>}}<br />
{{CLArg|SqlAllowDDL <1/0>|Enable or disable the use of DDL for manipulating the database. This is the master switch for all of the related SQL directives. DDL must be enabled in order to perform many operations for altering the database schema. If a required DDL command is not allowed, the server will exit.}}<br />
{{CLArg|SqlAllowAllDDL <1/0>|Same as {{ms|SqlAllowDDL}}.}}<br />
{{CLArg|SqlAddAttributes <1/0>|Allow the {{ms|SqlAddAttributes}} DDL command.}}<br />
{{CLArg|SqlAddColumnOrTable <1/0>|Allow the {{ms|SqlAddColumnOrTable}} DDL command.}}<br />
{{CLArg|SqlDeleteColumnOrTable <1/0>|Allow the {{ms|SqlDeleteColumnOrTable}} DDL command.}}<br />
{{CLArg|SqlRebuildTable <1/0>|Allow the {{ms|SqlRebuildTable}} DDL command. This has the same effect as setting {{ms|SqlAllowDDL}}.}}<br />
{{CLArg|SqlAlterColumn <1/0>|Allow the {{ms|SqlAlterColumn}} DDL command.}}<br />
{{CLArg|DefaultAccessLevel <n>|Set the access level of new characters. This should be 0 for any production system.}}<br />
{{CLArg|LogDir <dir>|Set the log file directory. ''Default?''}}<br />
{{CLArg|AssertMode "<modes>"|Set the behavior of assertion failures. Multiple modes can be specified if the argument is wrapped in quotes. Possible modes are:<br />
{{CommandLineTable|<br />
{{CLArg|Minidump|Create minidumps (.mdmp) on failure.}}<br />
{{CLArg|Fulldump|Create full dumps (.dmp) on failure.}}<br />
{{CLArg|Exit|Exit on failure.}}<br />
{{CLArg|NoTimestamp|Don't name dump files with timestamps.}}<br />
{{CLArg|NoDate|Same as {{ms|NoTimestamp}}.}}<br />
{{CLArg|Zip|Zip the dump files.}}<br />
{{CLArg|Ignore|Enable the ignore button on assertions.}}<br />
}}}}<br />
{{CLArg|MaxPlayers <num>|The maximum number of players that can be connected at any time. The maximum value is AUTH_SIZE_MAX (8191):<br />
<pre><br />
#define AUTH_SIZE_MAX (((1<<14)/2)-1) //so Auth server treats any number (1<<14) or bigger as being zero. So we're saying that you<br />
//can't have a max size > 1<<13-1 so that you can have 1<<13 available for the queue.</pre>}}<br />
{{CLArg|LoginsPerMinute <num>|''Unsure what this is. It's only used in one place, queueservercomm, so it doesn't actually seem to be a server-side login attempt limiter.''}}<br />
{{CLArg|MinPlayers <num>|''Unsure about this. It's only ever sent to authserver when it queries how many are online, but that code is dead:<br />
<pre><br />
if (server_cfg.min_players && 0 /*sqlFifoNearFull()*/)<br />
authPutU16(pak,server_cfg.min_players);<br />
else<br />
authPutU16(pak,AUTH_SIZE_MAX+server_cfg.max_players);<br />
</pre>}}<br />
{{CLArg|UseQueueServer <1/0>|Enable or disable the use of the [[queueserver]].}}<br />
{{CLArg|BlockFreePlayersIfNoAccountServer <1/0>|Put F2P players in the queue if the account server is down. ''Presumably? clientcomm s_skipQueue''}}<br />
{{CLArg|EnqueueWithAuthLimiter <1/0>|''Let people into the shard even if we would queue them normally?''}}<br />
{{CLArg|NoStats <1/0>|Disable the statserver; have the launcher send {{ms|-nostats}} to mapservers.}}<br />
{{CLArg|ClientProject <name>|Set the "registry name". This is used to construct the path to the Windows registry keys. Default is {{ms|CoH}}.}}<br />
{{CLArg|MapServerParams "<params>"|Extra parameters to send to launched mapservers.}}<br />
{{CLArg|DiffDebug <1/0>|Possibly perform extra verification checks on containers? Sends {{ms|-diffdebug}} to launched mapservers.}}<br />
{{CLArg|ContainerSizeDebug <1/0>|Possibly perform extra verification checks on containers?}}<br />
{{CLArg|UseLogServer <1/0>|Enable the logserver.}}<br />
{{CLArg|LogServer <ip>|Set the IP address of the logserver. This implies enabling the logserver.}}<br />
{{CLArg|LogRelayVerbose <1/0>|Enable verbose logging. ''Of what? Inter-server handover?''}}<br />
{{CLArg|ChatServer <ip>|Set the IP address of the chatserver.}}<br />
{{CLArg|ShardName <name>|The name of the shard this dbserver manages. ''Seems to be used for keeping track of shards in turnstile. Does this need to match anything in the DB?''}}<br />
{{CLArg|ChangeDbOwnerFrom <name>|Runs some kind of stored procedure. {{ms|// requested by joe phillips}}}}<br />
{{CLArg|MaxLevel <n>|Appears to be global max level for NPCs. It doesn't seem to be max level for characters, which you might think.}}<br />
{{CLArg|MaxCoHLevel <n>|NPC max level for blue zones?}}<br />
{{CLArg|MaxCoVLevel <n>|NPC max level for red zones?}}<br />
{{CLArg|MaxDualSlots <n>|Number of shared H/V character slots per player? Default is 12, maximum is 48.}}<br />
{{CLArg|BackupDays <days>|Number of days to keep stored backups (characters?) for. Minimum is 30 days.}}<br />
{{CLArg|OfflineProtectLevel <level>|Highest level of character that can be moved to offline storage. Default is 35. ''Probably?''}}<br />
{{CLArg|OfflineIdleDays <days>|Number of days before a character is moved to offline storage.}}<br />
{{CLArg|CompleteBrokenTasks <1/0>|Sends {{ms|-completebrokentasks}} to launched mapservers. ''Document what this does.''}}<br />
{{CLArg|DroppedPacketLogging <1/0>|Log when packets are dropped or received out of order.}}<br />
{{CLArg|AuthBadPacketReconnect <1/0>|Extra verification on auth packets?}}<br />
{{CLArg|MasterBeaconServer <host>|Hostname for the master beaconserver.}}<br />
{{CLArg|DoNotLaunchMasterBeaconServer <1/0>|Don't launch the master beaconserver.}}<br />
{{CLArg|RequestBeaconServerCount <n>|Number of beaconrequestservers to launch. Negative values correspond to 2. Default is -1.}}<br />
{{CLArg|DoNotPreloadCrashReportDLL <1/0>|Don't preload the crash report DLL.}}<br />
{{CLArg|BeaconRequestCacheDir <dir>|Cache directory for requests made to the beaconservers. ''Probably.''}}<br />
{{CLArg|DoNotLaunchBeaconClients <1/0>|Don't launch any beaconclients.}}<br />
{{CLArg|DoNotLaunchMapServerTSR <1/0>|Don't launch any TSR mapservers. TSR mapservers preload data to shared memory to make loading other mapservers faster.}}<br />
{{CLArg|RaidTimeZoneDelta <decimal>|Difference in hours between the time on the mapserver and the dbserver. Default comes from the OS. ''This is sent from dbserver to mapserver, but doesn't seem used?''}}<br />
{{CLArg|DisableContainerBackups <1/0>|Disable on-disk container backups.}}<br />
{{CLArg|XPScale <decimal>|Experience multiplier. Default is obviously 1.0.}}<br />
{{CLArg|AuctionInvMaxLastLoginDays <n>|Auction entries for accounts that have not logged in in this many days are not sent. Default is 60.}}<br />
{{CLArg|AuthnameLimiterEnabled <1/0>|''This is associated with BlockFreePlayersIfNoAccountServer and EnqueueWithAuthLimiter, but I'm really not sure what it's for.''}}<br />
{{CLArg|AuthnameLimiterAccessLevel <n>|Characters greater than this access level can bypass the auth limiter.}}<br />
{{CLArg|BlockedMapKey <maps...>|A comma or space delimited list of map keys to not load.}}<br />
{{CLArg|DisabledZoneEvents <events...>|A comma or space delimited list of disabled zone events.}}<br />
}}<br />
<br />
<br />
== Example ==<br />
<nowiki>DBServer 127.0.0.1<br />
ShardName SCRUBBED<br />
UseFakeAuth 1<br />
#AuthServer 127.0.0.1<br />
DefaultAccessLevel 255<br />
NoStats 1<br />
<br />
LocalIP 127.0.0.1<br />
MaxPlayers 300<br />
AssertMode Fulldump<br />
UseQueueServer 0<br />
UseLogServer 0<br />
OverrideAuthBit RogueAccess<br />
ChatServer 127.0.0.1<br />
KarmaEventHistoryDays 30<br />
MapserverIdleUpkeep 20<br />
MapserverIdleExit 20<br />
FastStart 1<br />
MaxPlayerSlots 1000<br />
MaxDualSlots 1000<br />
AuctionInvMaxLastLoginDays 1000<br />
<br />
// BeaconMasterServer 192.168.0.1<br />
RequestBeaconServerCount 0<br />
BeaconRequestCacheDir "c:\beaconrequestcache"<br />
DoNotLaunchBeaconClients 1<br />
DoNotLaunchMapserverTSRs 0<br />
<br />
AuthnameLimiterEnabled 0<br />
AuthnameLimiterAccessLevel 20<br />
<br />
SetLogLevel "Auction" -2<br />
SetLogLevel "Chat" 1<br />
SetLogLevel "Admin" -2<br />
SetLogLevel "Bug" -2<br />
SetLogLevel "CharSlotApply" -2<br />
SetLogLevel "Debug" -2<br />
SetLogLevel "Delete" -2<br />
SetLogLevel "deletion" -2<br />
SetLogLevel "entity" -2<br />
SetLogLevel "Error" -2<br />
SetLogLevel "cheaters" -2<br />
SetLogLevel "MARTY" -2<br />
SetLogLevel "Offline" -2<br />
SetLogLevel "Powers" -2<br />
SetLogLevel "Rewards" -2<br />
SetLogLevel "SuperGroup" -2<br />
SetLogLevel "SystemSpecs" -2<br />
SetLogLevel "sze_rewards" -2<br />
SetLogLevel "turnstile" -2<br />
SetLogLevel "cmds" -2<br />
SetLogLevel "internalcmds" 1<br />
<br />
SqlDbProvider mssql<br />
SqlDbName coh<br />
SqlAllowDDL 1<br />
SqlLogin "Driver={SQL Server Native Client 11.0};server=localhost;database=coh;trusted_connection=Yes;"<br />
SqlInit 1</nowiki></div>Bevinskyhttps://wiki.ourodev.com/index.php?title=I25_loadBalanceDefault.cfg&diff=803I25 loadBalanceDefault.cfg2019-05-05T21:55:25Z<p>Bevinsky: </p>
<hr />
<div><syntaxhighlight lang="text"><br />
// Load Balancing Default Configuration<br />
<br />
// The configuration values in this file control how the dbserver<br />
// tries to balance workload amongst the various host machines<br />
// made available to it through launcher connections.<br />
// <br />
// The dbserver uses these settings in conjunction with metrics<br />
// on host utilization and status supplied by the launchers to<br />
// make decisions on where to best launch server processes such<br />
// as mission maps and static zones.<br />
//<br />
// The load balancing settings presented here should reflect the<br />
// provisioning of the launcher host machine and its environment;<br />
// e.g., network capacity, cpu cores, available virtual memory, disk speed etc.<br />
//<br />
// The primary goal of the load balancing is to insure survivability<br />
// of the service and host stability. These settings, in conjunction with<br />
// servers.cfg settings, can be used to setup an occupancy limits on<br />
// host machine resources. When those limits are exceeded the service will <br />
// suspend using individual hosts and even enter a system wide overload<br />
// protection mode.<br />
//<br />
// The secondary goal is to provide adequate Quality of Service (QoS)<br />
// to the players by distributing load to make the service sufficiently<br />
// responsive. <br />
//<br />
// The Live environment consists of pool of host machines that are<br />
// shared by all the dbservers. Load balancing is more challenging<br />
// in this scenario as an individual dbserver is unaware of the<br />
// impact of the actions of the other dbservers until it receives<br />
// new status updates from mahcines in the host pool. <br />
// The quality of the status snapshot last received<br />
// on a particular host degrades as the number of dbservers sharing<br />
// that host increase and also during periods of high map launch rates.<br />
//<br />
// Thus, it is best for an individual dbserver working in this configuration<br />
// to treat its knowledge of host status as imperfect and only an approximation.<br />
// Load balancing strategies which employ some randomization can be used to<br />
// improve balancing in this situation.<br />
//<br />
// Note: the most important configuration values are listed first<br />
<br />
<br />
// A load balancing "mode" is set by selecting a balancing strategy and<br />
// an associated heuristic for the strategy to use if applicable.<br />
//<br />
// Supported Strategies:<br />
//<br />
// Sequential - balance by round robin assignment to the set of available launchers<br />
// Random - balance by randomly choosing amongst available launchers<br />
// RandomChoice - balance by randomly choosing a set of launchers and selecting the one with minimum heuristic<br />
// Search - balance by walking the set of launchers and selecting the one with minimum heuristic<br />
//<br />
// Supported Heuristics:<br />
//<br />
// Utilization - a measure of host machine resource utilization (i.e., cpu, etc)<br />
// TotalOccupancy - total hosted server count<br />
// TypeOccupancy - total hosted server count of a given type (e.g., static or mission)<br />
//<br />
// It is useful to customize the load balancing strategy employed<br />
// according to the type of role a new server process will play.<br />
// Mission maps and bases are inherently transient and usually service<br />
// a small number of players. On the other hand static map zone<br />
// instances can persist indefinitely and can grow to service<br />
// a large number of players.<br />
<br />
BalanceModeZone Sequential<br />
BalanceModeMission RandomChoice Utilization<br />
<br />
// Maximum number of maps we allow to start on a given machine. <br />
// Once this limit is reached the host will be suspended and no more<br />
// launches will be permitted.<br />
// The limit applies to the combined static and mission maps counts,<br />
// including maps that are starting up.<br />
// A value of zero disables this check.<br />
MaxMapservers 400<br />
<br />
// If the amount of virtual memory available to commit (in MB) on the host<br />
// drops below this value the host will be suspended from launching.<br />
// For system stability a generous amount of virtual memory should be available at all times.<br />
// A value of zero disables this check.<br />
MinAvailVirtualMemory 3000 // set to 0 for internal use, but production servers should set to something real like 3000<br />
<br />
// Maximum host utilization estimate allowed on a host before it is suspended<br />
// from launching any more server processes.<br />
// Individual launcher host utilization is calculated from host performance<br />
// metrics and influenced by settings which follow.<br />
// In general the goal is have a host load of 100 represent that the host<br />
// is humming along at capacity doing 100% useful work.<br />
// However, the host load can be such that it is actually overloaded and the<br />
// host is spending resources paging and servicing too many processes.<br />
// In this case the host utilization values will climb up over 100.<br />
// Host utilization should generally be in the 0 - 200% range.<br />
// See confluence documentation for more details on the calculation<br />
// of this value and guidelines for setting an appropriate maximum.<br />
// A value of 0 disables this form of capacity suspension.<br />
MaxHostUtilization 0<br />
<br />
// Defines a range of hard fault pages per second that is used to<br />
// map the current paging rate to a percentage which is then added<br />
// to host utilization. This updates utilization when the system<br />
// is busy paging instead of doing real work. Hard faults will<br />
// generally occur as new maps load data and will increase significantly<br />
// once physical memory is exhausted and there are active processes<br />
// that need to have pages swapped into their working sets to operate.<br />
PagingLoadLow 200<br />
PagingLoadHigh 30000<br />
<br />
// If the amount of available physical memory (in MB) on the host drops below<br />
// this threshold then the associated bias will be applied to the host utilization<br />
// calculation. For example, a bias of .1 implies a 10% increase in host utilization.<br />
MinAvailPhysicalMemory 1000<br />
MinAvailPhysicalMemoryBias 0.10<br />
<br />
// Amount of memory (in MB) we assume a static/zone map will take once it finishes starting<br />
StartingStaticMemBias 600<br />
<br />
// Amount of CPU (1 = 100%) we assume a static/zone map will take once it finishes starting<br />
StartingStaticCPUBias 0.30<br />
<br />
// Amount of memory (in MB) we assume a mission map will take once it finishes starting<br />
StartingMissionMemBias 150<br />
<br />
// Amount of CPU (1 = 100%) we assume a mission map will take once it finishes starting<br />
StartingMissionCPUBias 0.01<br />
<br />
// Amount of CPU (1 = 100%) to bias a server by if considering it for it's secondary role<br />
// If a secondary machine has this many more CPUs available (1.00 = 1 CPU at 100% usage)<br />
// then the secondary machine will be used instead<br />
// 0.5 is enough so that all of the initial city zones will start on these machines, and the<br />
// rest should balance nicely<br />
// @todo - deprecated, remove<br />
SecondaryRoleBias 0.5<br />
<br />
// How much CPU we add on for each static mapserver understanding that they will probably need it. In the past this was 10%. That's too high now<br />
StaticCPUBias 0<br />
<br />
// Amount of time (in seconds) a launcher is suspended if it has a large number of consecutive <br />
// crashes and/or delinks.<br />
// Launchers are also suspended if they stop responding, which gets cleared upon a DbServer restart<br />
TroubleSuspensionTime 1800<br />
<br />
// Server definitions<br />
// If loadBalanceShardSpecific.cfg is found, it's values override the above values<br />
// and it's servers get inserted *before* the ones in this file.<br />
// When finding the role of a server, the first server role definition that<br />
// has an IP range that matches will be used, so the defaults here will<br />
// only be used if all other roles don't match<br />
//<br />
// Example:<br />
//<br />
//ServerRole<br />
// // Host IP range<br />
// HostRange 0.0.0.0 255.255.255.255<br />
// // Or, host name:<br />
// Host qamain<br />
//<br />
// // Primary role, can be:<br />
// // Monitor - Just monitors performance, i.e. DbServer, ArenaServer, etc<br />
// // Mission - Just launches mission maps<br />
// // CityZone - Just launches static maps<br />
// // Mission CityZone - Launches any kind of map<br />
// PrimaryRole CityZone Mission<br />
//<br />
// // Secondary role, can be:<br />
// // None<br />
// // Mission - launches mission maps if all of the primary mission map servers are full<br />
// // CityZone - launches static maps if all of the primary static map servers are full<br />
// // Mission CityZone - launches maps only if the primary are full (might be useful on a QA DbServer?)<br />
// SecondaryRole None<br />
//<br />
// // Any number of Server Applications to run<br />
// // These are only valid if this is on a single host, not a range<br />
// Server<br />
// // Command to launch<br />
// Command RaidServer.exe<br />
// // Optional flag: specifies not to ever launch a new process, but just monitor<br />
// // existing ones (use this for DbServer.exe, ServerMonitor.exe)<br />
// MonitorOnly 1<br />
// End<br />
//End<br />
<br />
ServerRole<br />
HostRange 0.0.0.0 255.255.255.255<br />
PrimaryRole CityZone Mission<br />
SecondaryRole None<br />
End<br />
</syntaxhighlight></div>Bevinskyhttps://wiki.ourodev.com/index.php?title=User:Bevinsky&diff=768User:Bevinsky2019-05-04T22:59:48Z<p>Bevinsky: </p>
<hr />
<div>test page please ignore<br />
<br />
=== Arguments ===<br />
{{CommandLineTable|<br />
{{CLArg|-test|This is a test argument}}<br />
{{CLArg|-another|Blow up the dbserver}}<br />
{{CLArg|-another2 ''<number>''|The parameter ''n'' is used for numberwang}}<br />
{{CLArg|-empty|}}<br />
{{CLArg|-essay|<br />
You can have much documentation in this part of the template. It just works!<br />
* This a list.<br />
* Another list entry. Lists are cool.<br />
* Endgame was pretty good.<br />
* Don't forget to actually terminate the transclusion like I did when testing!}}<br />
{{CLArg|-slammo|<br />
Testing nested lists.<br />
{{CommandLineTable|<br />
{{CLArg|-horse|This is horse.}}<br />
{{CLArg|-yes|Very cool}}<br />
}}}}<br />
}}<br />
<br />
== Header 2 ==<br />
Text<br />
=== Header 3 ===<br />
Text<br />
==== Header 4 ====<br />
Text<br />
===== Header 5 =====<br />
Text</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Servers.cfg&diff=745Servers.cfg2019-05-04T16:34:09Z<p>Bevinsky: Some more directives.</p>
<hr />
<div>{{DISPLAYTITLE:servers.cfg}}<br />
servers.cfg is the main configuration file for the [[dbserver]]. Other components load the file as well, including the [[launcher]], [[arenaserver]], [[raidserver]], and [[statserver]].<br />
<br />
The directives in the file are used to populate the global ServerCfg configuration. Directive names are also case-insensitive. Lines with a leading {{ms|#}} are ignored.<br />
<br />
== Configuration directives ==<br />
<br />
{{CommandLineTable|<br />
{{CLArg|DBServer <ip>|The IP address of the dbserver. This is used by other components to determine where to connect. ''Can this be a domain?''}}<br />
{{CLArg|DBServer<n> <ip>|Auxiliary dbservers. Launchers can connect to multiple dbservers; more servers are specified as {{ms|DBServer2}}, {{ms|DBServer3}}, etc.}}<br />
{{CLArg|UseFakeAuth <0/1>|Enable fake auth. This lets clients log in directly to the dbserver (with any account) instead of going via an authserver.}}<br />
{{CLArg|AuthServer <ip> <port>|The IP address and port to use when connecting to the authserver.}}<br />
{{CLArg|LocalIp <ips...>|Local IP addresses. If an address matches the top two octets of any address specified here, the dbserver considers it local. ''What is this actually for?''}}<br />
{{CLArg|SqlDbProvider <prov>|The SQL database type. The supported configurations are {{ms|mssql}} and {{ms|postgresql}}, but only MSSQL is properly tested on proper i24.}}<br />
{{CLArg|SqlDbName <db>|The name of the dbserver database. Most common name is {{ms|cohdb}}.}}<br />
{{CLArg|SqlLogin "<connstring>"|The connection string for the database connection. Example:<br />
<pre>"DRIVER={SQL Server Native Client 11.0};Server=localhost\SQLEXPRESS;Uid=sa;Pwd=YourL33TPASS!;"<br />
</pre>}}<br />
{{CLArg|SqlInit "<query>"|An SQL query to initialize the dbserver database for the first time. If {{ms|SqlDbName}} is {{ms|cohdb}}, this could be:<br />
<pre>"CREATE DATABASE cohdb;"</pre>}}<br />
{{CLArg|SqlAllowDDL <1/0>|Enable or disable the use of DDL for manipulating the database. This is the master switch for all of the related SQL directives. DDL must be enabled in order to perform many operations for altering the database schema. If a required DDL command is not allowed, the server will exit.}}<br />
{{CLArg|SqlAllowAllDDL <1/0>|Same as {{ms|SqlAllowDDL}}.}}<br />
{{CLArg|SqlAddAttributes <1/0>|Allow the {{ms|SqlAddAttributes}} DDL command.}}<br />
{{CLArg|SqlAddColumnOrTable <1/0>|Allow the {{ms|SqlAddColumnOrTable}} DDL command.}}<br />
{{CLArg|SqlDeleteColumnOrTable <1/0>|Allow the {{ms|SqlDeleteColumnOrTable}} DDL command.}}<br />
{{CLArg|SqlRebuildTable <1/0>|Allow the {{ms|SqlRebuildTable}} DDL command. This has the same effect as setting {{ms|SqlAllowDDL}}.}}<br />
{{CLArg|SqlAlterColumn <1/0>|Allow the {{ms|SqlAlterColumn}} DDL command.}}<br />
{{CLArg|DefaultAccessLevel <n>|Set the access level of new characters. This should be 0 for any production system.}}<br />
{{CLArg|LogDir <dir>|Set the log file directory. ''Default?''}}<br />
{{CLArg|AssertMode "<modes>"|Set the behavior of assertion failures. Multiple modes can be specified if the argument is wrapped in quotes. Possible modes are:<br />
{{CommandLineTable|<br />
{{CLArg|Minidump|Create minidumps (.mdmp) on failure.}}<br />
{{CLArg|Fulldump|Create full dumps (.dmp) on failure.}}<br />
{{CLArg|Exit|Exit on failure.}}<br />
{{CLArg|NoTimestamp|Don't name dump files with timestamps.}}<br />
{{CLArg|NoDate|Same as {{ms|NoTimestamp}}.}}<br />
{{CLArg|Zip|Zip the dump files.}}<br />
{{CLArg|Ignore|Enable the ignore button on assertions.}}<br />
}}}}<br />
{{CLArg|MaxPlayers <num>|The maximum number of players that can be connected at any time. The maximum value is AUTH_SIZE_MAX (8191):<br />
<pre><br />
#define AUTH_SIZE_MAX (((1<<14)/2)-1) //so Auth server treats any number (1<<14) or bigger as being zero. So we're saying that you<br />
//can't have a max size > 1<<13-1 so that you can have 1<<13 available for the queue.</pre>}}<br />
{{CLArg|LoginsPerMinute <num>|''Unsure what this is. It's only used in one place, queueservercomm, so it doesn't actually seem to be a server-side login attempt limiter.''}}<br />
{{CLArg|MinPlayers <num>|''Unsure about this. It's only ever sent to authserver when it queries how many are online, but that code is dead:<br />
<pre><br />
if (server_cfg.min_players && 0 /*sqlFifoNearFull()*/)<br />
authPutU16(pak,server_cfg.min_players);<br />
else<br />
authPutU16(pak,AUTH_SIZE_MAX+server_cfg.max_players);<br />
</pre>}}<br />
{{CLArg|UseQueueServer <1/0>|Enable or disable the use of the [[queueserver]].}}<br />
{{CLArg|BlockFreePlayersIfNoAccountServer <1/0>|Put F2P players in the queue if the account server is down. ''Presumably? clientcomm s_skipQueue''}}<br />
{{CLArg|EnqueueWithAuthLimiter <1/0>|''Let people into the shard even if we would queue them normally?''}}<br />
{{CLArg|NoStats <1/0>|Disable the statserver; have the launcher send {{ms|-nostats}} to mapservers.}}<br />
{{CLArg|ClientProject <name>|Set the "registry name". This is used to construct the path to the Windows registry keys. Default is {{ms|CoH}}.}}<br />
{{CLArg|MapServerParams "<params>"|Extra parameters to send to launched mapservers.}}<br />
{{CLArg|DiffDebug <1/0>|Possibly perform extra verification checks on containers? Sends {{ms|-diffdebug}} to launched mapservers.}}<br />
{{CLArg|ContainerSizeDebug <1/0>|Possibly perform extra verification checks on containers?}}<br />
{{CLArg|UseLogServer <1/0>|Enable the logserver.}}<br />
{{CLArg|LogServer <ip>|Set the IP address of the logserver. This implies enabling the logserver.}}<br />
{{CLArg|LogRelayVerbose <1/0>|Enable verbose logging. ''Of what? Inter-server handover?''}}<br />
{{CLArg|ChatServer <ip>|Set the IP address of the chatserver.}}<br />
{{CLArg|ShardName <name>|The name of the shard this dbserver manages. ''Seems to be used for keeping track of shards in turnstile. Does this need to match anything in the DB?''}}<br />
{{CLArg|ChangeDbOwnerFrom <name>|Runs some kind of stored procedure. {{ms|// requested by joe phillips}}}}<br />
{{CLArg|MaxLevel <n>|Appears to be global max level for NPCs. It doesn't seem to be max level for characters, which you might think.}}<br />
{{CLArg|MaxCoHLevel <n>|NPC max level for blue zones?}}<br />
{{CLArg|MaxCoVLevel <n>|NPC max level for red zones?}}<br />
{{CLArg|MaxDualSlots <n>|Number of shared H/V character slots per player? Default is 12, maximum is 48.}}<br />
{{CLArg|BackupDays <days>|Number of days to keep stored backups (characters?) for. Minimum is 30 days.}}<br />
{{CLArg|OfflineProtectLevel <level>|Highest level of character that can be moved to offline storage. Default is 35. ''Probably?''}}<br />
{{CLArg|OfflineIdleDays <days>|Number of days before a character is moved to offline storage.}}<br />
{{CLArg|CompleteBrokenTasks <1/0>|Sends {{ms|-completebrokentasks}} to launched mapservers. ''Document what this does.''}}<br />
{{CLArg|DroppedPacketLogging <1/0>|Log when packets are dropped or received out of order.}}<br />
{{CLArg|AuthBadPacketReconnect <1/0>|Extra verification on auth packets?}}<br />
{{CLArg|BeaconMasterServer <host>|Hostname for the master beaconserver.}}<br />
{{CLArg|MasterBeaconServer <host>|Same as {{ms|BeaconMasterServer}}.}}<br />
}}<br />
<br />
<br />
== Example ==<br />
<nowiki>DBServer 127.0.0.1<br />
ShardName SCRUBBED<br />
UseFakeAuth 1<br />
#AuthServer 127.0.0.1<br />
DefaultAccessLevel 255<br />
NoStats 1<br />
<br />
LocalIP 127.0.0.1<br />
MaxPlayers 300<br />
AssertMode Fulldump<br />
UseQueueServer 0<br />
UseLogServer 0<br />
OverrideAuthBit RogueAccess<br />
ChatServer 127.0.0.1<br />
KarmaEventHistoryDays 30<br />
MapserverIdleUpkeep 20<br />
MapserverIdleExit 20<br />
FastStart 1<br />
MaxPlayerSlots 1000<br />
MaxDualSlots 1000<br />
AuctionInvMaxLastLoginDays 1000<br />
<br />
// BeaconMasterServer 192.168.0.1<br />
RequestBeaconServerCount 0<br />
BeaconRequestCacheDir "c:\beaconrequestcache"<br />
DoNotLaunchBeaconClients 1<br />
DoNotLaunchMapserverTSRs 0<br />
<br />
AuthnameLimiterEnabled 0<br />
AuthnameLimiterAccessLevel 20<br />
<br />
SetLogLevel "Auction" -2<br />
SetLogLevel "Chat" 1<br />
SetLogLevel "Admin" -2<br />
SetLogLevel "Bug" -2<br />
SetLogLevel "CharSlotApply" -2<br />
SetLogLevel "Debug" -2<br />
SetLogLevel "Delete" -2<br />
SetLogLevel "deletion" -2<br />
SetLogLevel "entity" -2<br />
SetLogLevel "Error" -2<br />
SetLogLevel "cheaters" -2<br />
SetLogLevel "MARTY" -2<br />
SetLogLevel "Offline" -2<br />
SetLogLevel "Powers" -2<br />
SetLogLevel "Rewards" -2<br />
SetLogLevel "SuperGroup" -2<br />
SetLogLevel "SystemSpecs" 1<br />
SetLogLevel "sze_rewards" -2<br />
SetLogLevel "turnstile" -2<br />
SetLogLevel "cmds" -2<br />
SetLogLevel "internalcmds" 1<br />
<br />
SqlDbProvider mssql<br />
SqlDbName coh<br />
SqlAllowDDL 1<br />
SqlLogin "Driver={SQL Server Native Client 11.0};server=localhost;database=coh;trusted_connection=Yes;"<br />
SqlInit 1</nowiki></div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Servers.cfg&diff=734Servers.cfg2019-05-04T15:34:15Z<p>Bevinsky: Documented some directives.</p>
<hr />
<div>{{DISPLAYTITLE:servers.cfg}}<br />
servers.cfg is the main configuration file for the [[dbserver]]. Other components load the file as well, including the [[launcher]], [[arenaserver]], [[raidserver]], and [[statserver]].<br />
<br />
The directives in the file are used to populate the global ServerCfg configuration. Directive names are also case-insensitive. Lines with a leading {{ms|#}} are ignored.<br />
<br />
== Configuration directives ==<br />
<br />
{{CommandLineTable|<br />
{{CLArg|DBServer <ip>|The IP address of the dbserver. This is used by other components to determine where to connect. ''Can this be a domain?''}}<br />
{{CLArg|DBServer<n> <ip>|Auxiliary dbservers. Launchers can connect to multiple dbservers; more servers are specified as {{ms|DBServer2}}, {{ms|DBServer3}}, etc.}}<br />
{{CLArg|UseFakeAuth <0/1>|Enable fake auth. This lets clients log in directly to the dbserver (with any account) instead of going via an authserver.}}<br />
{{CLArg|AuthServer <ip> <port>|The IP address and port to use when connecting to the authserver.}}<br />
{{CLArg|LocalIp <ips...>|Local IP addresses. If an address matches the top two octets of any address specified here, the dbserver considers it local. ''What is this actually for?''}}<br />
{{CLArg|SqlDbProvider <prov>|The SQL database type. The supported configurations are {{ms|mssql}} and {{ms|postgresql}}, but only MSSQL is properly tested on proper i24.}}<br />
{{CLArg|SqlDbName <db>|The name of the dbserver database. Most common name is {{ms|cohdb}}.}}<br />
{{CLArg|SqlLogin "<connstring>"|The connection string for the database connection. Example:<br />
<pre>"DRIVER={SQL Server Native Client 11.0};Server=localhost\SQLEXPRESS;Uid=sa;Pwd=YourL33TPASS!;"<br />
</pre>}}<br />
{{CLArg|SqlInit "<query>"|An SQL query to initialize the dbserver database for the first time. If {{ms|SqlDbName}} is {{ms|cohdb}}, this could be:<br />
<pre>"CREATE DATABASE cohdb;"</pre>}}<br />
{{CLArg|SqlAllowDDL <1/0>|Enable or disable the use of DDL for manipulating the database. This is the master switch for all of the related SQL directives. DDL must be enabled in order to perform many operations for altering the database schema. If a required DDL command is not allowed, the server will exit.}}<br />
{{CLArg|SqlAllowAllDDL <1/0>|Same as {{ms|SqlAllowDDL}}.}}<br />
{{CLArg|SqlAddAttributes <1/0>|Allow the {{ms|SqlAddAttributes}} DDL command.}}<br />
{{CLArg|SqlAddColumnOrTable <1/0>|Allow the {{ms|SqlAddColumnOrTable}} DDL command.}}<br />
{{CLArg|SqlDeleteColumnOrTable <1/0>|Allow the {{ms|SqlDeleteColumnOrTable}} DDL command.}}<br />
{{CLArg|SqlRebuildTable <1/0>|Allow the {{ms|SqlRebuildTable}} DDL command. This has the same effect as setting {{ms|SqlAllowDDL}}.}}<br />
{{CLArg|SqlAlterColumn <1/0>|Allow the {{ms|SqlAlterColumn}} DDL command.}}<br />
{{CLArg|DefaultAccessLevel <n>|Set the access level of new characters. This should be 0 for any production system.}}<br />
{{CLArg|LogDir <dir>|Set the log file directory. ''Default?''}}<br />
{{CLArg|AssertMode "<modes>"|Set the behavior of assertion failures. Multiple modes can be specified if the argument is wrapped in quotes. Possible modes are:<br />
{{CommandLineTable|<br />
{{CLArg|Minidump|Create minidumps (.mdmp) on failure.}}<br />
{{CLArg|Fulldump|Create full dumps (.dmp) on failure.}}<br />
{{CLArg|Exit|Exit on failure.}}<br />
{{CLArg|NoTimestamp|Don't name dump files with timestamps.}}<br />
{{CLArg|NoDate|Same as {{ms|NoTimestamp}}.}}<br />
{{CLArg|Zip|Zip the dump files.}}<br />
{{CLArg|Ignore|Enable the ignore button on assertions.}}<br />
}}}}<br />
{{CLArg|MaxPlayers <num>|The maximum number of players that can be connected at any time. The maximum value is AUTH_SIZE_MAX (8191):<br />
<pre><br />
#define AUTH_SIZE_MAX (((1<<14)/2)-1) //so Auth server treats any number (1<<14) or bigger as being zero. So we're saying that you<br />
//can't have a max size > 1<<13-1 so that you can have 1<<13 available for the queue.</pre>}}<br />
{{CLArg|LoginsPerMinute <num>|''Unsure what this is. It's only used in one place, queueservercomm, so it doesn't actually seem to be a server-side login attempt limiter.''}}<br />
{{CLArg|MinPlayers <num>|''Unsure about this. It's only ever sent to authserver when it queries how many are online, but that code is dead:<br />
<pre><br />
if (server_cfg.min_players && 0 /*sqlFifoNearFull()*/)<br />
authPutU16(pak,server_cfg.min_players);<br />
else<br />
authPutU16(pak,AUTH_SIZE_MAX+server_cfg.max_players);<br />
</pre>}}<br />
}}<br />
<br />
<br />
== Example ==<br />
<nowiki>DBServer 127.0.0.1<br />
ShardName SCRUBBED<br />
UseFakeAuth 1<br />
#AuthServer 127.0.0.1<br />
DefaultAccessLevel 255<br />
NoStats 1<br />
<br />
LocalIP 127.0.0.1<br />
MaxPlayers 300<br />
AssertMode Fulldump<br />
UseQueueServer 0<br />
UseLogServer 0<br />
OverrideAuthBit RogueAccess<br />
ChatServer 127.0.0.1<br />
KarmaEventHistoryDays 30<br />
MapserverIdleUpkeep 20<br />
MapserverIdleExit 20<br />
FastStart 1<br />
MaxPlayerSlots 1000<br />
MaxDualSlots 1000<br />
AuctionInvMaxLastLoginDays 1000<br />
<br />
// BeaconMasterServer 192.168.0.1<br />
RequestBeaconServerCount 0<br />
BeaconRequestCacheDir "c:\beaconrequestcache"<br />
DoNotLaunchBeaconClients 1<br />
DoNotLaunchMapserverTSRs 0<br />
<br />
AuthnameLimiterEnabled 0<br />
AuthnameLimiterAccessLevel 20<br />
<br />
SetLogLevel "Auction" -2<br />
SetLogLevel "Chat" 1<br />
SetLogLevel "Admin" -2<br />
SetLogLevel "Bug" -2<br />
SetLogLevel "CharSlotApply" -2<br />
SetLogLevel "Debug" -2<br />
SetLogLevel "Delete" -2<br />
SetLogLevel "deletion" -2<br />
SetLogLevel "entity" -2<br />
SetLogLevel "Error" -2<br />
SetLogLevel "cheaters" -2<br />
SetLogLevel "MARTY" -2<br />
SetLogLevel "Offline" -2<br />
SetLogLevel "Powers" -2<br />
SetLogLevel "Rewards" -2<br />
SetLogLevel "SuperGroup" -2<br />
SetLogLevel "SystemSpecs" 1<br />
SetLogLevel "sze_rewards" -2<br />
SetLogLevel "turnstile" -2<br />
SetLogLevel "cmds" -2<br />
SetLogLevel "internalcmds" 1<br />
<br />
SqlDbProvider mssql<br />
SqlDbName coh<br />
SqlAllowDDL 1<br />
SqlLogin "Driver={SQL Server Native Client 11.0};server=localhost;database=coh;trusted_connection=Yes;"<br />
SqlInit 1</nowiki></div>Bevinskyhttps://wiki.ourodev.com/index.php?title=AccountServer&diff=668AccountServer2019-05-04T00:34:58Z<p>Bevinsky: /* Table Structures */ Redid the tables as wikitable with proper syntax.</p>
<hr />
<div>AccountServer handles all inventory-related queries and reads processed payment information. PlaySpan is the original payment backend used before NCSoft shut down City of Heroes.<br />
<br />
== Configuration ==<br />
=== account_server.cfg ===<br />
<nowiki><br />
ShardName<br />
ShardName Paragon<br />
ShardId 1<br />
Address 127.0.0.1<br />
NoXferOut<br />
NoXferIn<br />
XferDestinations None<br />
ShardEnd<br />
PlayNCAdminWebPageSecretKey Paragon<br />
MtxEnvironment Paragon<br />
MtxSecretKey Paragon<br />
MtxIOThreads 1<br />
SqlDbName cohacc<br />
SqlLogin "Driver={SQL Server Native Client 11.0};server=localhost;database=cohacc;trusted_connection=Yes;"<br />
CatalogTimeStampTestOffsetDays 0<br />
clientAuthTimeout 1800<br />
ShardXfersDayMemory 14<br />
ShardXfersAllowedInMemory 0</nowiki><br />
<br />
== Database Schema ==<br />
An SQL dump will be bundled with future releases of code. Until then, [https://drive.google.com/open?id=1aYQYH3cr82z895ieuZPP2YPwVw7Y0oPP here you go].<br />
<br />
== Table Structures ==<br />
Columns are nullable unless denoted by Primary Key or Non Nullable.<br />
<br />
=== account ===<br />
{| class="wikitable"<br />
! Column Name<br />
! Data Type<br />
! Attributes<br />
|-<br />
| auth_id<br />
| int<br />
| Primary Key<br />
|-<br />
| name<br />
| varchar(14)<br />
| <br />
|-<br />
| loyalty_bits<br />
| binary(16)<br />
| <br />
|-<br />
| last_loyalty_point_count<br />
| smallint<br />
| <br />
|-<br />
| loyalty_points_spent<br />
| smallint<br />
| <br />
|-<br />
| last_email_date<br />
| smalldatetime<br />
| <br />
|-<br />
| last_num_emails_sent<br />
| smallint<br />
| <br />
|-<br />
| free_xfer_date<br />
| smalldatetime<br />
|<br />
|}<br />
<br />
=== game_log ===<br />
{| class="wikitable"<br />
! Column Name<br />
! Data Type<br />
! Attributes<br />
|-<br />
| order_id<br />
| uniqueidentifier<br />
| Primary Key, Foreign Key to game_transactions.order_id<br />
|-<br />
| auth_id<br />
| int<br />
| Foreign Key to account.auth_id, Not Nullable<br />
|-<br />
| sku_id<br />
| char(8)<br />
| Foreign Key to product.sku_id, Not Nullable<br />
|-<br />
| transaction_date<br />
| datetime<br />
| <br />
|-<br />
| shard_id<br />
| tinyint<br />
| <br />
|-<br />
| ent_id<br />
| int<br />
| <br />
|-<br />
| granted<br />
| int<br />
| <br />
|-<br />
| claimed<br />
| int<br />
| <br />
|-<br />
| csr_did_it<br />
| bit<br />
| <br />
|-<br />
| parent_order_id<br />
| uniqueidentifier<br />
| Foreign Key to game_transactions.order_id, Not Nullable<br />
|-<br />
| saved<br />
| int<br />
| <br />
|}<br />
<br />
=== game_transactions ===<br />
{| class="wikitable"<br />
! Column Name<br />
! Data Type<br />
! Attributes<br />
|-<br />
| order_id<br />
| uniqueidentifier<br />
| Primary Key<br />
|-<br />
| auth_id<br />
| int<br />
| Foreign Key to account.auth_id, Not Nullable<br />
|-<br />
| sku_id<br />
| char(8)<br />
| Foreign Key to product.sku_id, Not Nullable<br />
|-<br />
| transaction_date<br />
| datetime<br />
| <br />
|-<br />
| shard_id<br />
| tinyint<br />
| <br />
|-<br />
| ent_id<br />
| int<br />
| <br />
|-<br />
| granted<br />
| int<br />
| <br />
|-<br />
| claimed<br />
| int<br />
| <br />
|-<br />
| csr_did_it<br />
| bit<br />
|<br />
|-<br />
| parent_order_id<br />
| uniqueidentifier<br />
| Foreign Key to game_transactions.order_id, Not Nullable<br />
|}<br />
<br />
=== inventory ===<br />
{| class="wikitable"<br />
! Column Name<br />
! Data Type<br />
! Attributes<br />
|-<br />
| auth_id<br />
| int<br />
| Foreign Key to account.auth_id, Not Nullable<br />
|-<br />
| sku_id<br />
| char(8)<br />
| Foreign Key to product.sku_id, Not Nullable<br />
|-<br />
| granted_total<br />
| int<br />
| <br />
|-<br />
| claimed_total<br />
| int<br />
| <br />
|-<br />
| saved_total<br />
| int<br />
| <br />
|-<br />
| expires<br />
| smalldatetime<br />
| <br />
|}<br />
<br />
=== mtx_log ===<br />
{| class="wikitable"<br />
! Column Name<br />
! Data Type<br />
! Attributes<br />
|-<br />
| order_id<br />
| uniqueidentifier<br />
| Primary Key, Foreign Key to game_transactions.order_id<br />
|-<br />
| auth_id<br />
| int<br />
| Foreign Key to account.auth_id, Not Nullable<br />
|-<br />
| sku_id<br />
| char(8)<br />
| Foreign Key to product.sku_id, Not Nullable<br />
|-<br />
| transaction_date<br />
| datetime<br />
| <br />
|-<br />
| quantity<br />
| int<br />
|<br />
|-<br />
| points<br />
| int<br />
|<br />
|}<br />
<br />
=== product ===<br />
{| class="wikitable"<br />
! Column Name<br />
! Data Type<br />
! Attributes<br />
|-<br />
| sku_id<br />
| char(8)<br />
| Primary Key<br />
|-<br />
| name<br />
| varchar(128)<br />
| <br />
|-<br />
| product_type_id<br />
| int<br />
| Foreign Key to product_type.product_type_id, Not Nullable<br />
|-<br />
| grant_limit<br />
| int<br />
| <br />
|-<br />
| expiration_seconds<br />
| int<br />
|<br />
|}<br />
<br />
=== product_type ===<br />
{| class="wikitable"<br />
! Column Name<br />
! Data Type<br />
! Attributes<br />
|-<br />
| product_type_id<br />
| int<br />
| Primary Key<br />
|-<br />
| name<br />
| varchar(128)<br />
| Not Nullable<br />
|}<br />
<br />
== Stored Procedures ==<br />
=== SP_add_game_transaction ===<br />
=== SP_add_micro_transaction ===<br />
=== SP_add_multi_game_transaction ===<br />
=== SP_find_or_create_account ===<br />
=== SP_read_unsaved_game_transactions ===<br />
=== SP_revert_game_transaction ===<br />
=== SP_save_game_transaction ===<br />
=== SP_update_account ===<br />
<br />
== Table-Valued Parameters ==<br />
=== TVP_game_transaction ===<br />
<br />
== Development Notes ==<br />
[2:14 PM] Searge: nice, you can also get all sku by just changing some code, int AccountGetStoreProductCount2(AccountInventorySet* invSet, const AccountProduct* pProd, bool bActive) in AccountData.c could always return 1<br />
<br />
[2:39 PM] Searge: @Pazaz the loyalty bits set by the client when you take all of them are set to 0xFFFFFFFF7FE00F000000000000000000 in the database</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Main_Page&diff=653Main Page2019-05-03T22:58:22Z<p>Bevinsky: </p>
<hr />
<div><!--<br />
Notes area.<br />
<br />
Stole some of the layout inspiration from gametech emugen wiki.<br />
<br />
TODO: Adapt the structure of the main page to move Howtos to their own sections, and also consolidate specific component topics. I sent the below suggested basic structure to TMC earlier. This is simply a concept for content and organization, and it doesn't have to be followed to the letter, but these are my thoughts in any case. --Bevinsky<br />
<br />
Walkthroughs<br />
- [[Basic i24 Walkthrough]]<br />
- [[Basic i25 Walkthrough]]<br />
<br />
# i24 and i25 are very similar. Instead of having separate pages<br />
# for each of these items, it might be better to cover differences on each page.<br />
# -- Perhaps this is not a desired idea?<br />
<br />
# document directory structure:<br />
# - Executable/datadir structure<br />
# - other dirs, such as C:\coh_data\attributes?<br />
[[Directories]] <br />
<br />
# Should assemble magnet links for specific assets?<br />
[[Assets]] # explain client piggs/bins, server bins, maps, SpawnAreas, script.loc<br />
- [[maps.db]] # Usage, format and directives<br />
- [[Templates & Attributes]] # template purpose, usage, generation method, and syntax<br />
<br />
# Document for each:<br />
# - Location<br />
# - Purpose, usage<br />
# - Full directive reference / file format<br />
Configurations<br />
- [[gamedatadir.txt]]<br />
- [[servers.cfg]]<br />
- [[loadBalance]] # for both loadBalanceDefault.cfg and loadBalanceShardSpecific.cfg<br />
- [[auction_server.cfg]]<br />
- [[account_server.cfg]]<br />
- [[chat_server.cfg]]<br />
- [[commands.cfg]]<br />
- [[weeklytf.cfg]] # shouldn't this be "weeklyTF.cfg"? is this changed in i25 or is it case-insensitive?<br />
- [[version.ini]]<br />
<br />
# Document for each component:<br />
# - basic purpose, usage<br />
# - command line flags reference<br />
# - common issues<br />
# - etc.<br />
[[Servers]] # Architecture description?<br />
- [[DBserver]]<br />
- [[Mapserver]]<br />
- [[Launcher]]<br />
- [[Chatserver]]<br />
- [[Authserver]]<br />
- [[Accountserver]]<br />
- [[Arenaserver]]<br />
- [[Missionserver]]<br />
- [[Auctionserver]]<br />
- etc? are there more?<br />
<br />
Tools<br />
- [[pig.exe]]<br />
- [[ServerMonitor]]<br />
<br />
Protocols?<br />
- Inter-server?<br />
- ?<br />
- Server-client?<br />
- [[Client-to-authserver]]<br />
- [[Client-to-dbserver]]<br />
- [[Client-to-mapserver]]<br />
<br />
Formats?<br />
- [[PIGG]] # pig.exe<br />
- [[Parse6]]<br />
- [[Parse7]]<br />
<br />
<br />
<br />
--><br />
{| style="width:100%; background:#4a2a2a; margin-top: 0.6em; border:1px solid #a2a9b1; text-align:center; font-weight:bold"<br />
||<br />
Note: OuroDev is purely a not-for-profit, volunteer group. Anyone asking for donations on behalf of OuroDev or any of its contributors does not represent the group and should be ignored.<br />
|}<br />
<br />
{| style="width:100%; background:#2a2a2a; margin-top: 0.6em; border:1px solid #a2a9b1; padding: 0 8%;"<br />
| style="width:15%;" |<br />
<br />
{| style="width:100px; border:none; background:none;"<br />
| style="text-align:center; white-space:nowrap;" |<br />
<div style="font-size:162%; border:none; padding:.1em;">Welcome to OuroWiki,</div><br />
<div style="top:+0.2em; font-size:95%;">the Ouroboros Project wiki.</div><br />
<div id="articlecount" style="width:100%; text-align:center; font-size:85%;">There are [[Special:Statistics|{{NUMBEROFARTICLES}}]] articles already. Why not explore them?</div><br />
|}<br />
<br />
| style="width:40%; font-size:85%; padding:0.6em; padding-right:5%" |<br />
The '''Ouroboros Project''' is an ongoing volunteer effort that is taking a three-pronged approach to making City of Heroes available to the public:<br />
# Actively providing documentation and support for setting up private deployments using released 'i25' binaries and 'i24' source.<br />
# Maintaining and releasing stable builds of the 'i24' client and server, including a public git repo and public bug tracker.<br />
# Providing a public wiki for documentation and transparency.<br />
<br />
| style="width:10%; font-size:120%; white-space:nowrap;" |<br />
: [[File:Gitea.png|30px|link=https://git.ourodev.com/CoX/Source]] [https://git.ourodev.com/CoX/Source Gitea]<br />
: [[File:Mantis.png|30px|link=https://bugs.ourodev.com/]] [https://bugs.ourodev.com/ Mantis]<br />
: [[File:Discord.png|30px|link=OuroDev Discord]] [[OuroDev Discord|Discord]]<br />
|}<br />
<br />
{| style="width:100%; margin-top: 0.6em"<br />
| style="width:75%;vertical-align:top;padding-right:0.6em" |<br />
{| style="width:100%; background:#2a2a2a; border:1px solid #a2a9b1; padding:0.6em; vertical-align:top"<br />
| style="width:100%" colspan=4 |<br />
<h2 style="padding-top:0;margin-top:0">[[Server Architecture]]</h2><br />
|-<br />
| style="width:25%; vertical-align:top" |<br />
<h3 style="padding-top:0;margin-top:0"> Assets </h3><br />
* [[Server directory structure|Directory structure]]<br />
==== Binary assets ====<br />
* [[BCN maps]]<br />
==== Textual assets ====<br />
* [[maps.db]] ''configuration?''<br />
* [[script.loc]]<br />
* [[SpawnArea]]<br />
* [[Templates]]<br />
<br />
| style="width:25%; vertical-align:top" |<br />
<h3 style="padding-top:0;margin-top:0"> Components </h3><br />
* [[dbserver]]<br />
* [[mapserver]]<br />
* [[launcher]]<br />
* [[chatserver]]<br />
* [[authserver]]<br />
* [[accountserver]]<br />
* [[arenaserver]]<br />
* [[missionserver]]<br />
* [[auctionserver]]<br />
<br />
| style="width:25%; vertical-align:top" |<br />
<h3 style="padding-top:0;margin-top:0"> Configurations </h3><br />
* [[servers.cfg]]<br />
* [[loadBalance]]<br />
* [[auction_server.cfg]]<br />
* [[account_server.cfg]]<br />
* [[chat_server.cfg]]<br />
* [[commands.cfg]]<br />
* [[weeklytf.cfg]]<br />
* [[Other configurations]]<br />
<br />
| style="width:25%;vertical-align:top" |<br />
<h3 style="padding-top:0;margin-top:0"> Tools </h3><br />
* [[pig.exe]]<br />
* [[ServerMonitor]]<br />
* [[dbquery.exe]]<br />
<br />
=== Protocols ===<br />
* [[Network protocol]]<br />
==== Client-server protocols ''Does this need its own page?'' ====<br />
* [[Client-to-authserver]]<br />
* [[Client-to-dbserver]]<br />
* [[Client-to-mapserver]]<br />
==== Server protocols ====<br />
* [[Dbserver-to-mapserver]]<br />
<br />
|}<br />
| style="width:25%;vertical-align:top" |<br />
{| style="width:100%; background:#2a2a2a; border:1px solid #a2a9b1; padding:0.6em; vertical-align:top"<br />
| style="width:100%" colspan=1 |<br />
<h2 style="padding-top:0;margin-top:0">[[Client Architecture]]</h2><br />
|-<br />
| style="width:100%;" |<br />
<h3 style="padding-top:0;margin-top:0"> TODO </h3><br />
* TODO<br />
|}<br />
<br />
|}<br />
<br />
{| style="width:100%; background:#2a2a2a; margin-top: 0.6em; border:1px solid #a2a9b1; text-align:center; font-size:130%"<br />
| style="width:50%" |<br />
[[i24 install guide|I want to help develop!]]<br />
| style="width:50%" |<br />
[[i25 Community Virtual Machines|I just want to run a server!]]<br />
|}<br />
<br />
{| style="width:100%; margin-top: 0.6em"<br />
| style="width:50%; background:#2a2a2a; border:1px solid #a2a9b1; padding:0.6em; vertical-align:top" |<br />
<br />
<h2 style="margin-top:0;padding-top:0">Issue 24</h2><br />
Issue 24 (stylized as i24) was the last publicly accessible version of the game before it was shut down. i24 was deployed on the test server, but had not yet been released to live servers.<br />
<br />
=== Guides ===<br />
* Setup guide: https://docs.google.com/document/d/10FimduxDEM3UT1g7b6y3UHAETSjUl5lYzaG7fbUn-Vc/edit# (this is slowly being migrated over to here on the wiki).<br />
* [[source locations|Where to get the source]]<br />
* [[i24_install_guide|Install guide for setting up i24]]<br />
* [[i24 Common Setup Issues]]<br />
* [[i24 Commands|i24 admin commands (in-game)]]<br />
* [[Server Configuration Values]]<br />
* [[Server Executable Flags]]<br />
* [[Using /mmm]] (in-game console)<br />
<br />
=== Documentation ===<br />
* [[system_architecture_image|System Architecture Image]]<br />
* [[map_server_overview|Map Server]]<br />
<br />
=== Tools Needed ===<br />
* An installation of Windows (verified working: 10 Pro, Server 2019 Standard)<br />
* [http://download.microsoft.com/download/D/B/C/DBC11267-9597-46FF-8377-E194A73970D6/vs_proweb.exe Visual Studio 2010 Professional] Web download<br />
* [https://www.microsoft.com/en-us/download/details.aspx?id=29062 Microsoft® SQL Server® 2012 Express]<br />
* [https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-2017 SQL Server Management Studio] (SMSS)<br />
<br />
=== Torrent links ===<br />
* Putting this here for now, can go away once we have the repository set up:<br />
** [[magnet links]]<br />
<br />
=== Useful Future Links? ===<br />
* [https://cohrevival.com/codex/models.html Model Index]<br />
<br />
=== Git Repository ===<br />
* [[OuroDev_Git_Workflow|OuroDev Git Workflow]] ''TODO: move this to an OuroDev section''<br />
<br />
| style="width:50%; background:#2a2a2a; border:1px solid #a2a9b1; padding:0.6em; vertical-align:top" |<br />
<br />
<h2 style="margin-top:0;padding-top:0">[[i25 Main Page|Issue 25]]</h2><br />
Issue 25 (stylized as i25) was extended from an i24 base by SCoRE (Secret Cabal of Reverse Engineers) over the course of six years. It included additional content for i24 power sets, added the P2W Vendor, and fixed a good number of bugs.<br />
<br />
=== Client Setup Guide ===<br />
* [[i25 Client Setup]]<br />
<br />
=== Server Setup Guide ===<br />
* [[i25 Server Setup]]<br />
* [[i25 Multiple Server Setup]]<br />
* [[i25 Community Virtual Machines]]<br />
* [https://gofile.io/?c=w56I8R Video Guide from scratch]<br />
* [https://docs.google.com/document/d/1N63pPUfll-PAiElfGatSqCvX7GHZ8ygHWHAYbAV5il0/edit Original Setup Instructions on Google Drive]<br />
<br />
=== Commonly Asked Questions/Problems ===<br />
* [[i25 FAQ]]<br />
* [[i25 Current Status]]<br />
* [[i25 Command Lists]]<br />
<br />
=== Community Tools===<br />
* [[i25 Community Tools]]<br />
<br />
=== Downloads ===<br />
* [[i25 Downloads]]<br />
<br />
=== Reference Documents ===<br />
* [https://drive.google.com/file/d/1eZqIZnhEYDoRAJeoCotyKhWZZG07mrft/view City of Heroes Document]<br />
<br />
=== i25 Patch Notes ===<br />
* [https://docs.google.com/document/d/11cLJiSYlfueJheOumRywG8Evip2Mjmu_30Y6ePaetqY i25 Patch Notes]<br />
<br />
|}<br />
<br />
{| style="width:100%; background:#2a2a2a; margin-top: 0.6em; border:1px solid #a2a9b1; padding:0.6em; vertical-align: top"<br />
| style="width:100%; vertical-align:top" |<br />
<br />
== Quality of Life ==<br />
* [[VidiotMaps]] (suitable for use with either i24 or i25)<br />
* [[Account_Portal]] (A PHP application to allow users to create their own accounts and change their passwords.)<br />
<br />
|}<br />
<br />
__NOTOC__<br />
__NOEDITSECTION__<br />
<!-- Hide page title. For better results use an extension like NoTitle. --><br />
{{DISPLAYTITLE:<span style="position: absolute; clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px);">{{FULLPAGENAME}}</span>}}</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Dbserver&diff=570Dbserver2019-05-01T20:44:26Z<p>Bevinsky: </p>
<hr />
<div>The dbserver is responsible for managing the connection to the database and is the central connection for all mapservers and launchers.<br />
<br />
== Command line arguments ==<br />
<br />
{{CommandLineTable|<br />
{{CLArg|-logserver|Start the dbserver as a logserver instead. (This also happens if the executable name is "logserver".)}}<br />
{{CLArg|-noencrypt|Disable encryption between the client and dbserver.}}<br />
{{CLArg|-productionmode|Enable production mode/disable development mode. ''Document production mode.''}}<br />
{{CLArg|-startall|Start all static non-DontAutoStart maps automatically on startup.}}<br />
{{CLArg|-start <n>|Start up to n static maps on startup.}}<br />
{{CLArg|-verbose|Enable verbose logging.}}<br />
{{CLArg|-testcleanshutdown [n]|Run a database shutdown test on the ''n'' first containers and then exit. ''n'' is 100 by default.}}<br />
{{CLArg|-perfbench|Run a performance benchmark and then exit.}}<br />
{{CLArg|-perfload [n]|Run a load test of ''n'' runs on the database and then exit. ''n'' is 0 by default.}}<br />
{{CLArg|-perfdup [n]|Run a duplication test of ''n'' runs on the database and then exit. ''n'' is 0 by default.}}<br />
{{CLArg|-perfupdate [n]|Run an update test of ''n'' runs on the database and then exit. ''n'' is 0 by default.}}<br />
{{CLArg|-flattosql|Load the on-disk flat format (.defs or .bins) of Ents, Supergroups, Teamups and Leagues to the database, then exit. Only works in development mode.}}<br />
{{CLArg|-sqltoflat|Dump the database containers of Ents, Supergroups, Teamups and Leagues to the on-disk format, then exit. Only works in development mode.}}<br />
{{CLArg|-importdump <dumpfile> [mappingfile brokenfile progressfile splitnames]|Load a [[dbserver dump file|dump file]]. Defaults:<br />
* ''mappingfile'': {{ms|conids.map}}<br />
* ''brokenfile'': {{ms|links.bk}}<br />
* ''progressfile'': {{ms|progress.txt}}<br />
* ''splitnames'': 0}}<br />
{{CLArg|-fiximport [mappingfile brokenfile progressfile]|Revisit DB (after import?) and fix broken links. Defaults:<br />
* ''mappingfile'': {{ms|conids.map}}<br />
* ''brokenfile'': {{ms|links.bk}}<br />
* ''progressfile'': {{ms|progress.txt}}}}<br />
{{CLArg|-exportdump <dumpfile>|Export a dump file.}}<br />
{{CLArg|-packetdebug|Enable packet debug info (data type and length). Enabled by default if the build is FULLDEBUG, disabled otherwise.}}<br />
{{CLArg|-memlogecho|Echo logs for the generic memlog instance to the console.}}<br />
{{CLArg|-cod|Pass the {{ms|-cod}} option to mapservers launched via the launchers connected to this dbserver.}}<br />
}}</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Accountserver&diff=569Accountserver2019-05-01T20:19:28Z<p>Bevinsky: Redirected page to AccountServer</p>
<hr />
<div>#REDIRECT [[AccountServer]]</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Template:CLArg&diff=563Template:CLArg2019-05-01T19:25:52Z<p>Bevinsky: </p>
<hr />
<div><noinclude>Template for command line argument tables. Use like <code><nowiki>{{CLArg|ARGUMENT|DESCRIPTION}}</nowiki></code>. Both arguments to the template are mandatory but can be empty.<br />
<br />
</noinclude><includeonly>|- style="border-top:1px solid #a2a9b1"<br />
| style="padding: 0 0.6em 0 0.6em; word-wrap:break-word;overflow-wrap:break-word;" |<br />
{{ms|{{{1}}}}}<br />
| style="padding: 0 0.6em 0 0.6em; width:75%" |<br />
{{{2}}}</includeonly></div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Dbserver&diff=562Dbserver2019-05-01T19:14:41Z<p>Bevinsky: </p>
<hr />
<div>The dbserver is responsible for managing the connection to the database and is the central connection for all mapservers and launchers.<br />
<br />
== Command line arguments ==<br />
<br />
{{CommandLineTable|<br />
{{CLArg|-logserver|Start the dbserver as a logserver instead. (This also happens if the executable name is "logserver".)}}<br />
{{CLArg|-noencrypt|Disable encryption between the client and dbserver.}}<br />
{{CLArg|-productionmode|Enable production mode/disable development mode. ''Document production mode.''}}<br />
{{CLArg|-startall|Start all static non-DontAutoStart maps automatically on startup.}}<br />
{{CLArg|-start <n>|Start up to n static maps on startup.}}<br />
{{CLArg|-verbose|Enable verbose logging.}}<br />
{{CLArg|-testcleanshutdown [n]|Run a database shutdown test on the ''n'' first containers and then exit. ''n'' is 100 by default.}}<br />
{{CLArg|-perfbench|Run a performance benchmark and then exit.}}<br />
{{CLArg|-perfload [n]|Run a load test of ''n'' runs on the database and then exit. ''n'' is 0 by default.}}<br />
{{CLArg|-perfdup [n]|Run a duplication test of ''n'' runs on the database and then exit. ''n'' is 0 by default.}}<br />
{{CLArg|-perfupdate [n]|Run an update test of ''n'' runs on the database and then exit. ''n'' is 0 by default.}}<br />
{{CLArg|-flattosql|Load the on-disk flat format (.defs or .bins) of Ents, Supergroups, Teamups and Leagues to the database, then exit. Only works in development mode.}}<br />
{{CLArg|-sqltoflat|Dump the database containers of Ents, Supergroups, Teamups and Leagues to the on-disk format, then exit. Only works in development mode.}}<br />
{{CLArg|-importdump <dumpfile> [mappingfile brokenfile progressfile splitnames]|Load a dump file. Defaults:<br />
* ''mappingfile'': {{ms|conids.map}}<br />
* ''brokenfile'': {{ms|links.bk}}<br />
* ''progressfile'': {{ms|progress.txt}}<br />
* ''splitnames'': 0}}<br />
{{CLArg|-fiximport [mappingfile brokenfile progressfile]|Revisit DB (after import?) and fix broken links. Defaults:<br />
* ''mappingfile'': {{ms|conids.map}}<br />
* ''brokenfile'': {{ms|links.bk}}<br />
* ''progressfile'': {{ms|progress.txt}}}}<br />
{{CLArg|-exportdump <dumpfile>|Export a dump file.}}<br />
{{CLArg|-packetdebug|Enable packet debug info (data type and length). Enabled by default if the build is FULLDEBUG, disabled otherwise.}}<br />
{{CLArg|-memlogecho|Echo logs for the generic memlog instance to the console.}}<br />
{{CLArg|-cod|Pass the {{ms|-cod}} option to mapservers launched via the launchers connected to this dbserver.}}<br />
}}</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Mapserver&diff=561Mapserver2019-05-01T18:26:29Z<p>Bevinsky: Created page with "The mapserver maintains all of the state required for a map. The dbserver spins up new mapservers on demand via its launchers. == Command line arguments == In progress."</p>
<hr />
<div>The mapserver maintains all of the state required for a map. The [[dbserver]] spins up new mapservers on demand via its [[launcher]]s.<br />
<br />
== Command line arguments ==<br />
<br />
In progress.</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Dbserver&diff=560Dbserver2019-05-01T18:24:34Z<p>Bevinsky: Created page with "The dbserver is responsible for managing the connection to the database and is the central connection for all mapservers and launchers. == Command line arguments == In progr..."</p>
<hr />
<div>The dbserver is responsible for managing the connection to the database and is the central connection for all mapservers and launchers.<br />
<br />
== Command line arguments ==<br />
<br />
In progress.</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=I25_Community_Virtual_Machine_v2&diff=558I25 Community Virtual Machine v22019-05-01T12:29:39Z<p>Bevinsky: Redirect to combined page.</p>
<hr />
<div>#REDIRECT [[I25_Community_Virtual_Machines]]</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=I25_Community_Virtual_Machine&diff=557I25 Community Virtual Machine2019-05-01T12:29:00Z<p>Bevinsky: Redirected page to I25 Community Virtual Machines</p>
<hr />
<div>#REDIRECT [[I25_Community_Virtual_Machines]]</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Template:CommandLineTable&diff=539Template:CommandLineTable2019-04-30T23:27:58Z<p>Bevinsky: </p>
<hr />
<div><noinclude><br />
Table for command line arguments and other monospace definition tables.<br />
<br />
Example:<br />
<pre><br />
{{CommandLineTable|<br />
{{CLArg|-arg1|This is argument 1.}}<br />
{{CLArg|-arg2 ''number''|Argument 2 engages numberwang according to the parameter.}}<br />
{{CLArg|-longarg|<br />
You can have multiparagraph and wikiformatting in the descriptions.<br />
<br />
Very nice.}}<br />
}}<br />
</pre><br />
{{CommandLineTable|<br />
{{CLArg|-arg1|This is argument 1.}}<br />
{{CLArg|-arg2 ''number''|Argument 2 engages numberwang according to the parameter.}}<br />
{{CLArg|-longarg|<br />
You can have multiparagraph and wikiformatting in the descriptions.<br />
<br />
Very nice.}}<br />
}}<br />
<br />
You can also use it for other kinds of monospaced table lists.<br />
{{CommandLineTable|<br />
{{CLArg|ConfigDirective|This directive tells the server to activate the system.}}<br />
{{CLArg|WildRide|<br />
This one takes subdirectives.<br />
{{CommandLineTable|<br />
{{CLArg|DataFolder|The folder for data.}}<br />
{{CLArg|System|This is the system.}}<br />
}}}}<br />
}}<br />
</noinclude><includeonly>{| style="width:100%; background:#2a2a2a; margin-top: 0.6em; margin-bottom:0.6em; border:1px solid #a2a9b1; border-collapse:collapse"<br />
{{{1}}}<br />
|}</includeonly></div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Template:CommandLineTable&diff=538Template:CommandLineTable2019-04-30T23:24:35Z<p>Bevinsky: </p>
<hr />
<div><noinclude><br />
Table for command line arguments and other monospace definition tables.<br />
<br />
Example:<br />
<pre><br />
{{CommandLineTable|<br />
{{CLArg|-arg1|This is argument 1.}}<br />
{{CLArg|-arg2 ''number''|Argument 2 engages numberwang according to the parameter.}}<br />
{{CLArg|-longarg|<br />
You can have multiparagraph and wikiformatting in the descriptions.<br />
<br />
Very nice.}}<br />
}}<br />
</pre><br />
{{CommandLineTable|<br />
{{CLArg|-arg1|This is argument 1.}}<br />
{{CLArg|-arg2 ''number''|Argument 2 engages numberwang according to the parameter.}}<br />
{{CLArg|-longarg|<br />
You can have multiparagraph and wikiformatting in the descriptions.<br />
<br />
Very nice.}}<br />
}}<br />
</noinclude><includeonly>{| style="width:100%; background:#2a2a2a; margin-top: 0.6em; margin-bottom:0.6em; border:1px solid #a2a9b1; border-collapse:collapse"<br />
{{{1}}}<br />
|}</includeonly></div>Bevinskyhttps://wiki.ourodev.com/index.php?title=User:Bevinsky&diff=537User:Bevinsky2019-04-30T23:23:47Z<p>Bevinsky: </p>
<hr />
<div>test page please ignore<br />
<br />
=== Arguments ===<br />
{{CommandLineTable|<br />
{{CLArg|-test|This is a test argument}}<br />
{{CLArg|-another|Blow up the dbserver}}<br />
{{CLArg|-another2 ''<number>''|The parameter ''n'' is used for numberwang}}<br />
{{CLArg|-empty|}}<br />
{{CLArg|-essay|<br />
You can have much documentation in this part of the template. It just works!<br />
* This a list.<br />
* Another list entry. Lists are cool.<br />
* Endgame was pretty good.<br />
* Don't forget to actually terminate the transclusion like I did when testing!}}<br />
{{CLArg|-slammo|<br />
Testing nested lists.<br />
{{CommandLineTable|<br />
{{CLArg|-horse|This is horse.}}<br />
{{CLArg|-yes|Very cool}}<br />
}}}}<br />
}}</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Template:CLArg&diff=522Template:CLArg2019-04-30T17:47:12Z<p>Bevinsky: </p>
<hr />
<div><noinclude>Template for command line argument tables. Use like <code><nowiki>{{CLArg|ARGUMENT|DESCRIPTION}}</nowiki></code>. Both arguments to the template are mandatory but can be empty.</noinclude><includeonly>|- style="border-top:1px solid #a2a9b1"<br />
| style="min-width:5%; padding: 0 0.6em 0 0.6em; white-space:nowrap" |<br />
{{ms|{{{1}}}}}<br />
| style="padding: 0 0.6em 0 0.6em;" |<br />
{{{2}}}</includeonly></div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Template:CLArg&diff=521Template:CLArg2019-04-30T17:46:43Z<p>Bevinsky: </p>
<hr />
<div><noinclude>Template for command line argument tables. Use like <code><nowiki>{{CLArg|ARGUMENT|DESCRIPTION}}</nowiki></code>. Both arguments to the template are mandatory but can be empty.</noinclude><includeonly>|- style="border-top:1px solid #a2a9b1"<br />
| style="; padding: 0 0.6em 0 0.6em; white-space:nowrap" |<br />
{{ms|{{{1}}}}}<br />
| style="padding: 0 0.6em 0 0.6em;" |<br />
{{{2}}}</includeonly></div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Template:CLArg&diff=520Template:CLArg2019-04-30T17:46:17Z<p>Bevinsky: </p>
<hr />
<div><noinclude>Template for command line argument tables. Use like <code><nowiki>{{CLArg|ARGUMENT|DESCRIPTION}}</nowiki></code>. Both arguments to the template are mandatory but can be empty.</noinclude><includeonly>|- style="border-top:1px solid #a2a9b1"<br />
| style=";font-size:120%; padding: 0 0.6em 0 0.6em; white-space:nowrap" |<br />
{{ms|{{{1}}}}}<br />
| style="padding: 0 0.6em 0 0.6em;" |<br />
{{{2}}}</includeonly></div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Template:Ms&diff=519Template:Ms2019-04-30T17:45:46Z<p>Bevinsky: </p>
<hr />
<div><noinclude>Simple inline monospace template.</noinclude><includeonly><code style="background:#4c4c4c;border:1px solid #666;">{{{1}}}</code></includeonly></div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Template:Ms&diff=518Template:Ms2019-04-30T17:44:18Z<p>Bevinsky: </p>
<hr />
<div><noinclude>Simple inline monospace template.</noinclude><includeonly><code style="background:#404040;border:1px solid #a2a9b1;">{{{1}}}</code></includeonly></div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Dbquery.exe&diff=517Dbquery.exe2019-04-30T17:32:27Z<p>Bevinsky: Added table template for the command line arguments.</p>
<hr />
<div>An application for sending commands to the DBServer. DBServer listens on port 6997 by default.<br />
<br />
Usage: bin\dbquery.exe ''[arguments]''<br />
<br />
__TOC__<br />
<br />
== Arguments ==<br />
{{CommandLineTable|<br />
{{CLArg|-charactertransfer|See characterTransfer.c for some hilarious surprises!}}<br />
{{CLArg|-cookie|}}<br />
{{CLArg|-db <host>|Specifies a remote host the DBServer is running on. Accepts DNS name or IP address. Default: localhost.}}<br />
{{CLArg|-dbquery <query>|Implies {{ms|-noencrypt}}, {{ms|-nopigs}} and {{ms|-silent}}. See list of [[DBquery.exe\-dbquery_Arguments|arguments]].}}<br />
{{CLArg|-getcharacter "<name>"|Gets a character from the DBServer and outputs it to stdout. Implies {{ms|-noencrypt}}, {{ms|-nopigs}} and {{ms|-silent}}.}}<br />
{{CLArg|-nodebug|}}<br />
{{CLArg|-noencrypt|Do not use encryption}}<br />
{{CLArg|-nopigs|Don't load any pigg files; use only loose files on the filesystem when necessary.}}<br />
{{CLArg|-notimeout|}}<br />
{{CLArg|-packetdebug|}}<br />
{{CLArg|-putcharacter <file>|Puts a character into the database via DBServer. Implies {{ms|-noencrypt}}, {{ms|-nopigs}} and {{ms|-silent}}.}}<br />
{{CLArg|-querysgleaders <string>|Probably queries to display the list of super group leaders when the supergroup is loaded.}}<br />
{{CLArg|-restorecharacter "<name>"|Probably restores a character from backup?}}<br />
{{CLArg|-silent|Produces cleaner output}}<br />
{{CLArg|-tcp [number]|Specify TCP port when connecting to DBServer, default 6997}}<br />
{{CLArg|-templates|}}<br />
{{CLArg|-tsr2|}}<br />
{{CLArg|-tsr3|}}<br />
{{CLArg|-udp [number]|Specify UDP port when connecting to DBServer, default 6997}}<br />
{{CLArg|-verbose|}}<br />
}}<br />
<br />
== Sample Commands ==<br />
<br />
===Exporting and Importing a character===<br />
dbquery.exe -getcharacter "Name">file.txt<br />
dbquery.exe -putcharacter file.txt<br />
<br />
===Retrieving a character from a remote DBServer===<br />
dbquery -db 10.5.0.144 -getcharacter "Aleena"<br />
<br />
== DBQuery Entry Point ==<br />
https://git.ourodev.com/CoX/Source/src/branch/develop/MapServer/svr/dbquery_init.c</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Template:Ms&diff=516Template:Ms2019-04-30T17:29:49Z<p>Bevinsky: Created page with "<code>{{{1}}}</code>"</p>
<hr />
<div><code>{{{1}}}</code></div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Template:CommandLineTable&diff=515Template:CommandLineTable2019-04-30T17:24:17Z<p>Bevinsky: </p>
<hr />
<div><noinclude><br />
Table for command line arguments and other monospace definition tables.<br />
<br />
Example:<br />
<pre><br />
{{CommandLineTable|<br />
{{CLArg|-arg1|This is argument 1.}}<br />
{{CLArg|-arg2 ''number''|Argument 2 engages numberwang according to the parameter.}}<br />
{{CLArg|-longarg|<br />
You can have multiparagraph and wikiformatting in the descriptions.<br />
<br />
Very nice.}}<br />
}}<br />
</pre><br />
{{CommandLineTable|<br />
{{CLArg|-arg1|This is argument 1.}}<br />
{{CLArg|-arg2 ''number''|Argument 2 engages numberwang according to the parameter.}}<br />
{{CLArg|-longarg|<br />
You can have multiparagraph and wikiformatting in the descriptions.<br />
<br />
Very nice.}}<br />
}}<br />
</noinclude><includeonly>{| style="width:100%; background:#2a2a2a; margin-top: 0.6em; border:1px solid #a2a9b1; border-collapse:collapse"<br />
{{{1}}}<br />
|}</includeonly></div>Bevinskyhttps://wiki.ourodev.com/index.php?title=Template:CLArg&diff=514Template:CLArg2019-04-30T17:21:10Z<p>Bevinsky: </p>
<hr />
<div><noinclude>Template for command line argument tables. Use like <code><nowiki>{{CLArg|ARGUMENT|DESCRIPTION}}</nowiki></code>. Both arguments to the template are mandatory but can be empty.</noinclude><includeonly>|- style="border-top:1px solid #a2a9b1"<br />
| style="min-width:5%; font-family:monospace;font-size:120%; padding: 0 0.6em 0 0.6em; white-space:nowrap" |<br />
{{{1}}}<br />
| style="padding: 0 0.6em 0 0.6em;" |<br />
{{{2}}}</includeonly></div>Bevinskyhttps://wiki.ourodev.com/index.php?title=User:Bevinsky&diff=510User:Bevinsky2019-04-30T16:56:58Z<p>Bevinsky: </p>
<hr />
<div>test page please ignore<br />
<br />
=== Arguments ===<br />
{{CommandLineTable|<br />
{{CLArg|-test|This is a test argument}}<br />
{{CLArg|-another|Blow up the dbserver}}<br />
{{CLArg|-another2 ''<number>''|The parameter ''n'' is used for numberwang}}<br />
{{CLArg|-empty|}}<br />
{{CLArg|-essay|<br />
You can have much documentation in this part of the template. It just works!<br />
* This a list.<br />
* Another list entry. Lists are cool.<br />
* Endgame was pretty good.<br />
* Don't forget to actually terminate the transclusion like I did when testing!}}<br />
}}</div>Bevinskyhttps://wiki.ourodev.com/index.php?title=User:Bevinsky&diff=509User:Bevinsky2019-04-30T16:54:15Z<p>Bevinsky: </p>
<hr />
<div>test page please ignore<br />
<br />
<br />
{{CommandLineTable|<br />
{{CLArg|-test|This is a test argument}}<br />
{{CLArg|-another|Blow up the dbserver}}<br />
{{CLArg|-another2 ''<number>''|The parameter ''n'' is used for numberwang}}<br />
}}</div>Bevinsky