From 9002ae1c8de10fac9e8545d8e086c64aebec254b Mon Sep 17 00:00:00 2001 From: driAn Date: Tue, 21 Oct 2008 21:44:08 +0000 Subject: [PATCH] removed wizard proj git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@3174 e016b1c5-ed68-44aa-a2f7-31cac88cffde --- source/wizard/src/Makefile | 14 -- source/wizard/src/winserviceinstaller.h | 53 ------- source/wizard/src/wizard.cpp | 170 ---------------------- source/wizard/vcpp/wizard.vcproj | 185 ------------------------ 4 files changed, 422 deletions(-) delete mode 100644 source/wizard/src/Makefile delete mode 100644 source/wizard/src/winserviceinstaller.h delete mode 100644 source/wizard/src/wizard.cpp delete mode 100644 source/wizard/vcpp/wizard.vcproj diff --git a/source/wizard/src/Makefile b/source/wizard/src/Makefile deleted file mode 100644 index 911cb972..00000000 --- a/source/wizard/src/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -CXXOPTFLAGS=-O3 -fomit-frame-pointer -INCLUDES= -CXXFLAGS=$(CXXOPTFLAGS) $(INCLUDES) -fsigned-char -Wall -Wno-deprecated -LIBS= - -default: - $(CXX) $(CXXFLAGSS) wizard.cpp -o server_wizard $(LIBBS) - -clean: - -$(RM) -f $(OBJS) server_wizard - -install: default - cp server_wizard ../../../bin_unix/server_wizard - strip ../../../bin_unix/server_wizard diff --git a/source/wizard/src/winserviceinstaller.h b/source/wizard/src/winserviceinstaller.h deleted file mode 100644 index 6c337feb..00000000 --- a/source/wizard/src/winserviceinstaller.h +++ /dev/null @@ -1,53 +0,0 @@ -// minimal windows service installer - -class winserviceinstaller -{ - -private: - LPCSTR name; - LPCSTR displayName; - LPCSTR path; - - SC_HANDLE scm; - -public: - winserviceinstaller(LPCSTR name, LPCSTR displayName, LPCSTR path) : name(name), displayName(displayName), path(path) - { - } - - ~winserviceinstaller() - { - CloseManager(); - } - - bool OpenManger() - { - return ((scm = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS)) != NULL); - } - - void CloseManager() - { - if(scm) CloseServiceHandle(scm); - } - - int IsInstalled() - { - if(!scm) return -1; - SC_HANDLE svc = OpenService(scm, name, SC_MANAGER_CONNECT); - bool installed = svc != NULL; - CloseServiceHandle(svc); - return installed ? 1 : 0; - } - - int Install() - { - if(!scm) return -1; - SC_HANDLE svc = CreateService(scm, name, displayName, SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS, SERVICE_DEMAND_START, SERVICE_ERROR_NORMAL, path, NULL, NULL, NULL, NULL, NULL); - if(svc == NULL) return 0; - else - { - CloseServiceHandle(svc); - return 1; - } - } -}; \ No newline at end of file diff --git a/source/wizard/src/wizard.cpp b/source/wizard/src/wizard.cpp deleted file mode 100644 index 853e43d4..00000000 --- a/source/wizard/src/wizard.cpp +++ /dev/null @@ -1,170 +0,0 @@ -// wizard to start an AssaultCube server and storing the configuration - -#include -#include -#include -#include -#include - -using namespace std; - -#ifdef WIN32 - #pragma warning( disable : 4996 ) - #include - #include - #include - #include "winserviceinstaller.h" -#elif __GNUC__ - #include - #include -#endif - -int main(int argc, char **argv) -{ - if(argc < 3) - { - cout << "usage: server_wizard "; - return EXIT_FAILURE; - } - - string outfile(argv[1]); - string relpath(argv[2]); - - map args; - - cout << "AssaultCube Server Wizard" << endl << endl; - cout << "You can now specify some optional server settings. The default settings will be used if you decide to leave the fields empty. See README.html for a description of the settings." << endl << endl; - - cout << "server description:\t"; - getline(cin, args["n"]); - - cout << "max clients:\t\t"; - getline(cin, args["c"]); - - cout << "password:\t\t"; - getline(cin, args["p"]); - - cout << "admin password:\t\t"; - getline(cin, args["x"]); - - cout << "message of the day:\t"; - getline(cin, args["o"]); - - cout << "server port:\t\t"; - getline(cin, args["f"]); - - cout << "masterserver:\t\t"; - getline(cin, args["m"]); - - cout << "maprotation file:\t"; - getline(cin, args["r"]); - - cout << "score threshold:\t"; - getline(cin, args["k"]); - - cout << "upstream bandwidth:\t"; - getline(cin, args["u"]); - - cout << "ip:\t\t\t"; - getline(cin, args["i"]); - -#ifdef WIN32 - - string wsname, wsdisplayname; - cout << "win service name:\t"; - getline(cin, wsname); - - if(!wsname.empty()) - { - cout << "win service display:\t"; - getline(cin, wsdisplayname); - } - -#endif - - string argstr; - - for(map::iterator i = args.begin(); i != args.end(); i++) - { - if((*i).second.empty()) continue; // arg value not set - else - { - argstr += " -" + (*i).first; - if((*i).second.find(" ") == string::npos) argstr += (*i).second; - else argstr += '"' + (*i).second + '"'; // escape spaces - } - } - - cout << endl << "Writing your configuration to " << outfile << " ... "; - - try - { - fstream startupScript(outfile.c_str(), ios::out); -#ifdef WIN32 - startupScript << relpath << argstr << endl << "pause" << endl; -#elif __GNUC__ - startupScript << "#! /bin/sh" << endl << relpath << argstr << endl; -#endif - startupScript.close(); - } - catch(...) - { - cout << "Failed!" << endl; - return EXIT_FAILURE; - } - - cout << "Done" << endl << endl; - cout << "Note: You can start " << outfile << " directly the next time you want to use this configuration again." << endl << endl; - -#ifdef WIN32 - - if(!wsname.empty()) - { - if(wsdisplayname.empty()) wsdisplayname = wsname; - - cout << "Installing the AC Server as windows service ... "; - - char path[MAX_PATH]; - _getcwd(path, MAX_PATH); - strncat(path, ("\\" + relpath + " -S" + wsname + " " + argstr).c_str(), MAX_PATH); - - winserviceinstaller installer(wsname.c_str(), wsdisplayname.c_str(), path); - - int r; - if(!installer.OpenManger()) - { - cout << "Failed!" << endl; - cout << "Could not open the Service Control Manager: " << GetLastError() << endl; - installer.CloseManager(); - return EXIT_FAILURE; - } - - if((r = installer.IsInstalled()) != 0) - { - cout << "Failed!" << endl; - if(r == -1) cout << "Error accessing the Service Control Manager" << endl; - else if(r == 1) cout << "A windows service with this name (" << wsname << ")is already installed: " << GetLastError() << endl; - return EXIT_FAILURE; - } - - if((r = installer.Install()) != 1) - { - cout << "Failed!" << endl; - if(r == -1) cout << "Error accessing the Service Control Manager" << endl; - else if(r == 0) cout << "Could not create the new windows service: " << GetLastError() << endl; - return EXIT_FAILURE; - } - - cout << "Done" << endl << endl; - cout << "Note: You can now manage your AC server using services.msc and sc.exe" << endl << endl; - } - -#endif - - cout << "Press Enter to start the server now" << endl; - cin.get(); - cout << "Starting the AC server ..." << endl; - system((relpath + argstr).c_str()); - - return EXIT_SUCCESS; -} diff --git a/source/wizard/vcpp/wizard.vcproj b/source/wizard/vcpp/wizard.vcproj deleted file mode 100644 index 78dd2a33..00000000 --- a/source/wizard/vcpp/wizard.vcproj +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -