///////////////////////////////////////////////////////////
///////////////// Have an itch? Scratch it! ///////////////
///////////////////////// SCRATCH /////////////////////////
///////////////////// A MUD Server ////////////////////
///////////////////// By: Jared Devall ////////////////////
///////////////////// Thanks: ////////////////////
///////////////////// DIKU/Merc/ROM ////////////////////
///////////////////// Aetas/Deus Gang ////////////////////
///////////////////// Beej ////////////////////
///////////////////////////////////////////////////////////
#include <string>
#include <iostream> // The STL include.
#include "avatar.h"
#include "world.h"
#include "stringutil.h"
const int portNumber = 2950;
/*
* This is where Scratch "starts". You can specify a port and it starts
* running the MUD on specified port. Change PORTNUMBER to change the
* default port.
*/
int main( int argc, char *argv[] ) {
int port; // The port number the Server runs off.
bool copyover = false;
port = portNumber; // Make sure we have a default port.
if ( argc >= 2 ) {
if ( str_cmp( argv[1], "-copyover" ) ) {
copyover = true;
SocketServer::Instance().SetHostSocket( atoi(argv[2]) );
} else {
if ( atoi( argv[1] ) <= 1024 ) { // Ports from 1024 and below are Reserved
std::cout << "Port #" << argv[1] << " Reserved." << std::endl;
exit( 1 );
} else if ( atoi( argv[1] ) > 65535 ) { // No ports above 65535
std::cout << "Port #" << argv[1] << " Out of Range. ( # > 65535 )" << std::endl;
exit( 1 );
} else { // The Port the user gave is usable.
port = atoi( argv[1] );
}
}
}
// Start the game
World::Instance().Exist( "Scratch is up", port, copyover );
return 0;
}