From d1deba5b565dc8b40d40699c1b58ceb02743c72c Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Wed, 22 Feb 2012 09:02:11 +0000 Subject: First attempt at an automated nightbuild script git-svn-id: http://mc-server.googlecode.com/svn/trunk@308 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- Install/WCVersion.cmd.template | 1 + Install/Zip2008.list | 16 ++++++ Install/Zip2008_PDBs.list | 7 +++ Install/upload_win.ftp.template.example | 7 +++ MersenneTwister-LICENSE.txt | 43 +++++++++++++++ Nightbuild2008.cmd | 98 +++++++++++++++++++++++++++++++++ banned.example.ini | 3 + groups.example.ini | 17 ++++++ settings.example.ini | 27 +++++++++ users.example.ini | 8 +++ webadmin.example.ini | 6 ++ whitelist.example.ini | 6 ++ 12 files changed, 239 insertions(+) create mode 100644 Install/WCVersion.cmd.template create mode 100644 Install/Zip2008.list create mode 100644 Install/Zip2008_PDBs.list create mode 100644 Install/upload_win.ftp.template.example create mode 100644 MersenneTwister-LICENSE.txt create mode 100644 Nightbuild2008.cmd create mode 100644 banned.example.ini create mode 100644 groups.example.ini create mode 100644 settings.example.ini create mode 100644 users.example.ini create mode 100644 webadmin.example.ini create mode 100644 whitelist.example.ini diff --git a/Install/WCVersion.cmd.template b/Install/WCVersion.cmd.template new file mode 100644 index 000000000..7c6fac164 --- /dev/null +++ b/Install/WCVersion.cmd.template @@ -0,0 +1 @@ +set WCREV=$WCREV$ \ No newline at end of file diff --git a/Install/Zip2008.list b/Install/Zip2008.list new file mode 100644 index 000000000..963cd6285 --- /dev/null +++ b/Install/Zip2008.list @@ -0,0 +1,16 @@ +MCServer.exe +Plugins +webadmin +banned.example.ini +furnace.txt +groups.example.ini +items.ini +Lua-LICENSE.txt +MersenneTwister-LICENSE.txt +monsters.ini +recipes.txt +settings.example.ini +terrain.ini +users.example.ini +webadmin.example.ini +whitelist.example.ini \ No newline at end of file diff --git a/Install/Zip2008_PDBs.list b/Install/Zip2008_PDBs.list new file mode 100644 index 000000000..38993a3b4 --- /dev/null +++ b/Install/Zip2008_PDBs.list @@ -0,0 +1,7 @@ +VC2008\Release\*.pdb +VC2008\Release\JsonCpp\*.pdb +VC2008\Release\Lua\*.pdb +VC2008\Release\ToLua\*.pdb +VC2008\Release\webserver\*.pdb +VC2008\Release\zlib*.pdb + diff --git a/Install/upload_win.ftp.template.example b/Install/upload_win.ftp.template.example new file mode 100644 index 000000000..3e0e24438 --- /dev/null +++ b/Install/upload_win.ftp.template.example @@ -0,0 +1,7 @@ +user Username +Password +binary +put ..\MCServer_Win_$WCREV$.7z +cd PDBs +put ..\MCServer_Win_$WCREV$_PDBs.7z +quit diff --git a/MersenneTwister-LICENSE.txt b/MersenneTwister-LICENSE.txt new file mode 100644 index 000000000..db62b36c6 --- /dev/null +++ b/MersenneTwister-LICENSE.txt @@ -0,0 +1,43 @@ +// The Mersenne Twister is an algorithm for generating random numbers. It +// was designed with consideration of the flaws in various other generators. +// The period, 2^19937-1, and the order of equidistribution, 623 dimensions, +// are far greater. The generator is also fast; it avoids multiplication and +// division, and it benefits from caches and pipelines. For more information +// see the inventors' web page at +// http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html + +// Reference +// M. Matsumoto and T. Nishimura, "Mersenne Twister: A 623-Dimensionally +// Equidistributed Uniform Pseudo-Random Number Generator", ACM Transactions on +// Modeling and Computer Simulation, Vol. 8, No. 1, January 1998, pp 3-30. + +// Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, +// Copyright (C) 2000 - 2009, Richard J. Wagner +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// 3. The names of its contributors may not be used to endorse or promote +// products derived from this software without specific prior written +// permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/Nightbuild2008.cmd b/Nightbuild2008.cmd new file mode 100644 index 000000000..a08e7ea99 --- /dev/null +++ b/Nightbuild2008.cmd @@ -0,0 +1,98 @@ +rem @echo off +:: Nightbbuild2008.cmd +:: This script is run every night to produce a new version of MCServer, backup its PDB files and upload the packages to web. +:: These sub-scripts are used: +:: - WCRev.cmd together with subwcrev templating to obtain the version number as an environment var +:: - UploadVersion.ftp FTP command template for uploading the version to the web (not included in the SVN, because it contains confidential passwords! Use your own) +:: When run without parameters, this script pauses at the end and waits for a keypress. +:: To run in an automated scheduler, add any parameter to disable waiting for a keystroke +:: +:: This script expects a few tools on specific paths, you can pass the correct paths for your system as env vars "7z", "vc" and "tsvn" + + +:: 7-zip executable (by default it should be on PATH): +if %zip%a == a set zip=7z + +:: Visual C++ compiler executable name: +if %vc%a == a set vc="vcbuild.exe" + +:: TortoiseProc executable (for updating to the latest version): +if %tsvn%a== a set tsvn="c:\program files\tortoisesvn\bin\tortoiseproc.exe" + +:: Subwcrev (from TortoiseSVN, for querying revision number; by default in PATH): +if %subwcrev%a == a set subwcrev=subwcrev + + + + + +set DONOTPAUSE=y + +:: Update the sources to the latest revision: +start "tsvn src" /b /min /wait %tsvn% /command:update /path:. /closeonend:1 +if errorlevel 1 goto haderror + + +:: Copy all *.template files into their non-template versions, substituting SVN keywords: +for /r %%X in (*.template) do ( + %subwcrev% . "%%X" "%%~dpX%%~nX" + if errorlevel 1 goto haderror +) + + +:: Get the revision number into WCREV env var +call Install\WCVersion.cmd +echo WCREV = %WCREV% + + +echo Setting up VS environment... +call "%VS90COMNTOOLS%\vsvars32.bat" +echo Compiling MCServer... +title MCS Nightbuild +start "vc" /b /wait /low /min %vc% /r vc2008\MCServer.sln "Release|Win32" +if errorlevel 1 goto haderror + + + + +:: Use 7-zip to compress the resulting files into a single file: +:: Note: the output filename here must be the same as in the upload_win.ftp.template script +copy VC2008\Release\MCServer.exe MCServer.exe +%zip% a -mx9 -y MCServer_Win_%WCREV%.7z -scsWIN @Install\Zip2008.list +if errorlevel 1 goto haderror + +:: Also pack PDBs into a separate archive: +:: Note: the output filename here must be the same as in the upload_win.ftp.template script +%zip% a -mx9 -y MCServer_Win_%WCREV%_PDBs.7z -scsWIN @Install\Zip2008_PDBs.list +if errorlevel 1 goto haderror + + + + + +:: upload to FTP using the upload_win.ftp (.template) script +ftp -n -s:Install\upload_win.ftp xoft.cz + + + + +goto end + + + + +:haderror +echo an error was encountered, check command output above +pause +goto finished + + + + + +:end +if "a%1" == "a" pause + + + +:finished \ No newline at end of file diff --git a/banned.example.ini b/banned.example.ini new file mode 100644 index 000000000..efe5f51b6 --- /dev/null +++ b/banned.example.ini @@ -0,0 +1,3 @@ +[Banned] +;PlayerName=1 + diff --git a/groups.example.ini b/groups.example.ini new file mode 100644 index 000000000..2f03bc229 --- /dev/null +++ b/groups.example.ini @@ -0,0 +1,17 @@ +[Admins] +Permissions=* +Color=c + +[Mods] +Color=5 +Inherits=Vips +Permissions=core.time,core.item + +[Vips] +Permissions=core.teleport +Color=2 +Inherits=Default + +[Default] +Permissions=core.help,core.playerlist,core.pluginlist,core.spawn +Color=7 diff --git a/settings.example.ini b/settings.example.ini new file mode 100644 index 000000000..714b4e436 --- /dev/null +++ b/settings.example.ini @@ -0,0 +1,27 @@ +[Server] +Port=25565 +MaxPlayers=42 +Description=MCServer - Slightly more custom! + +[Worlds] +DefaultWorld=world +;World=world_sexy + +[Plugins] +;Squirrel=SquirrelChatLog + +[HelpPlugin] +ShowPluginNames=1 + +[Physics] +Water=0 + +[Monsters] +AnimalsOn=0 +AnimalSpawnInterval=10 +Types=Spider,Chicken,Cow,Pig,Sheep,Squid,Enderman,Zombiepigman,Cavespider,Creeper,Ghast,Silverfish,Skeleton,Slime,Spider,Zombie + +[Authentication] +Server=session.minecraft.net +Address=/game/checkserver.jsp?user=%USERNAME%&serverId=%SERVERID% +Authenticate=0 diff --git a/users.example.ini b/users.example.ini new file mode 100644 index 000000000..fae7030f1 --- /dev/null +++ b/users.example.ini @@ -0,0 +1,8 @@ +[SomeAdmin] +Groups=Admins + +[FancyModerator] +Groups=Moderators + +[ImportantPerson] +Groups=Vips \ No newline at end of file diff --git a/webadmin.example.ini b/webadmin.example.ini new file mode 100644 index 000000000..6ecbf7513 --- /dev/null +++ b/webadmin.example.ini @@ -0,0 +1,6 @@ +[WebAdmin] +Enabled=1 +Port=8080 + +[User:admin] +Password=admin \ No newline at end of file diff --git a/whitelist.example.ini b/whitelist.example.ini new file mode 100644 index 000000000..eb884dcda --- /dev/null +++ b/whitelist.example.ini @@ -0,0 +1,6 @@ +[WhiteListSettings] +WhiteListOn=0 + +[WhiteList] +;PlayerName=1 + -- cgit v1.2.3