mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-01-21 05:04:45 +00:00
97 lines
4 KiB
C#
97 lines
4 KiB
C#
//-----------------------------------------------------------------------------
|
|
// Copyright (c) 2012 GarageGames, LLC
|
|
//
|
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
// of this software and associated documentation files (the "Software"), to
|
|
// deal in the Software without restriction, including without limitation the
|
|
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
|
// sell copies of the Software, and to permit persons to whom the Software is
|
|
// furnished to do so, subject to the following conditions:
|
|
//
|
|
// The above copyright notice and this permission notice shall be included in
|
|
// all copies or substantial portions of the Software.
|
|
//
|
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
|
// IN THE SOFTWARE.
|
|
//-----------------------------------------------------------------------------
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
// Variables used by server scripts & code. The ones marked with (c)
|
|
// are accessed from code. Variables preceeded by Pref:: are server
|
|
// preferences and stored automatically in the ServerPrefs.cs file
|
|
// in between server sessions.
|
|
//
|
|
// (c) Server::ServerType {SinglePlayer, MultiPlayer}
|
|
// (c) Server::GameType Unique game name
|
|
// (c) Server::Dedicated Bool
|
|
// ( ) Server::MissionFile Mission .mis file name
|
|
// (c) Server::MissionName DisplayName from .mis file
|
|
// (c) Server::MissionType Not used
|
|
// (c) Server::PlayerCount Current player count
|
|
// (c) Server::GuidList Player GUID (record list?)
|
|
// (c) Server::Status Current server status
|
|
//
|
|
// (c) Pref::Server::Name Server Name
|
|
// (c) Pref::Server::Password Password for client connections
|
|
// ( ) Pref::Server::AdminPassword Password for client admins
|
|
// (c) Pref::Server::Info Server description
|
|
// (c) Pref::Server::MaxPlayers Max allowed players
|
|
// (c) Pref::Server::RegionMask Registers this mask with master server
|
|
// ( ) Pref::Server::BanTime Duration of a player ban
|
|
// ( ) Pref::Server::KickBanTime Duration of a player kick & ban
|
|
// ( ) Pref::Server::MaxChatLen Max chat message len
|
|
// ( ) Pref::Server::FloodProtectionEnabled Bool
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
function initServer()
|
|
{
|
|
echo("\n--------- Initializing " @ $appName @ ": Server Scripts ---------");
|
|
|
|
// Server::Status is returned in the Game Info Query and represents the
|
|
// current status of the server. This string sould be very short.
|
|
$Server::Status = "Unknown";
|
|
|
|
// Turn on testing/debug script functions
|
|
$Server::TestCheats = false;
|
|
|
|
// Specify where the mission files are.
|
|
$Server::MissionFileSpec = "levels/*.mis";
|
|
|
|
// The common module provides the basic server functionality
|
|
initBaseServer();
|
|
|
|
// Load up game server support scripts
|
|
exec("./commands.cs");
|
|
exec("./game.cs");
|
|
}
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
function initDedicated()
|
|
{
|
|
enableWinConsole(true);
|
|
echo("\n--------- Starting Dedicated Server ---------");
|
|
|
|
// Make sure this variable reflects the correct state.
|
|
$Server::Dedicated = true;
|
|
|
|
// The server isn't started unless a mission has been specified.
|
|
if ($missionArg !$= "") {
|
|
createServer("MultiPlayer", $missionArg);
|
|
}
|
|
else
|
|
echo("No mission specified (use -mission filename)");
|
|
}
|
|
|