Name | Author | Game Mode | Rating | |||||
---|---|---|---|---|---|---|---|---|
Project Controller 4 | Overlord | Utility | 9.3 |
<html>
<head>
<title>Project Controller 4 - User Manual</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<style type="text/css">
<!--
a:active { color: #33FF33}
a:hover { color: #FFFF33}
-->
BODY {
SCROLLBAR-FACE-COLOR: #6600CC; SCROLLBAR-HIGHLIGHT-COLOR: #6600CC; SCROLLBAR-SHADOW-COLOR: #330066; SCROLLBAR-3DLIGHT-COLOR: #9900FF; SCROLLBAR-ARROW-COLOR: #CC99FF; SCROLLBAR-TRACK-COLOR: #660099; SCROLLBAR-DARKSHADOW-COLOR: #660099
; border-style: none}
</style>
</head>
<bgsound src='Data\Music.mid' loop='infinite'>
<body bgcolor="#000000" text="#99CCFF" background="Data/Back.jpg" link="#9900FF" vlink="#00FF00" alink="#FF0000" bgproperties="fixed">
<a name="top"></a>
<div id="Layer" style="position:absolute;top:-8px;left:-2px; width: 776px; height: 19px">
<div style="position:relative;width:2px;height:2px;background:#ffffff;font-size:2px;visibility:visible"></div>
<div style="position:relative;width:2px;height:2px;background:#ffff00;font-size:2px;visibility:visible"></div>
<div style="position:relative;width:2px;height:2px;background:#ffa000;font-size:2px;visibility:visible"></div>
<div style="position:relative;width:2px;height:2px;background:#ff0000;font-size:2px;visibility:visible"></div>
<div style="position:relative;width:2px;height:2px;background:#00ff00;font-size:2px;visibility:visible"></div>
<div style="position:relative;width:2px;height:2px;background:#0000ff;font-size:2px;visibility:visible"></div>
<div style="position:relative;width:2px;height:2px;background:#FF00FF;font-size:2px;visibility:visible"></div>
</div>
<script language="JavaScript">
<!-- Begin
if (document.layers) {
window.captureEvents(Event.MOUSEMOVE);
}
var yBase = 200;
var xBase = 200;
var yAmpl = 10;
var yMax = 40;
var step = .2;
var ystep = .5;
var currStep = 0;
var tAmpl=1;
var Xpos = 1;
var Ypos = 1;
var i = 0;
var j = 0;
if (document.all) {
function MoveHandler(){
Xpos = document.body.scrollLeft + event.x;
Ypos = document.body.scrollTop + event.y;
}
document.onmousemove = MoveHandler;
}
else if (document.layers) {
function xMoveHandler(evnt) {
Xpos = evnt.pageX;
Ypos = evnt.pageY;
}
window.onMouseMove = xMoveHandler;
}
function animateLogo() {
if (document.all) {
yBase = window.document.body.offsetHeight / 4;
xBase = window.document.body.offsetWidth / 4;
}
else if (document.layers) {
yBase = window.innerHeight / 4;
xBase = window.innerWidth / 4;
}
if (document.all) {
for (i = 0 ; i < Layer.all.length; i++) {
Layer.all[i].style.top = Ypos + Math.cos((20*Math.sin(currStep/20))+i*70)*yBase*(Math.sin(10+currStep/10)+0.2)*Math.cos((currStep + i*25)/10);
Layer.all[i].style.left = Xpos + Math.sin((20*Math.sin(currStep/20))+i*70)*xBase*(Math.sin(10+currStep/10)+0.2)*Math.cos((currStep + i*25)/10);
}
}
else if (document.layers) {
for (j = 0; j < 7; j++) { //7 is number of NS layers!
var templayer="a" + j;
document.layers[templayer].top = Ypos + Math.cos((20*Math.sin(currStep/20))+j*70)*yBase*(Math.sin(10+currStep/10)+0.2)*Math.cos((currStep + j*25)/10);
document.layers[templayer].left =Xpos + Math.sin((20*Math.sin(currStep/20))+j*70)*xBase*(Math.sin(10+currStep/10)+0.2)*Math.cos((currStep + j*25)/10);
}
}
currStep += step;
setTimeout("animateLogo()", 10);
}
animateLogo();
// End -->
</script>
<table width="100%" border="3" bordercolor="#000066" bgcolor="#000000">
<tr>
<td height="32">
<div align="center">
<table width="100%" border="0">
<tr>
<td width="5%">
<div align="left"><img src="Data/Jazz.gif" width="32" height="48" alt="Jazz"></div>
</td>
<td align="center" valign="middle" width="90%">
<div align="center"><font size="5"><font color="#FF0000" size="6"><b><font face="Arial, Helvetica, sans-serif">PROJECT
CONTROLLER 4</font></b> </font></font></div>
</td>
<td width="5%">
<div align="right"><img src="Data/Jazz2.gif" width="32" height="48" alt="Jazz"></div>
</td>
</tr>
<tr align="center" valign="middle">
<td colspan="3">
<div align="center"><font size="5"><font face="Arial, Helvetica, sans-serif"><b><font color="#FF0000" size="6"><font size="3">USER
MANUAL</font></font></b></font></font></div>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<hr color="#000066">
<table width="100%" border="0" bgcolor="#000000">
<tr>
<td width="5%" align="left" valign="middle">
<div align="left"><img src="Data/Overlord.jpg" width="74" height="150" alt="Overlord"></div>
</td>
<td width="90%" valign="middle" align="center">
<div align="center"><b><font size="4"><a href="#intro"><font face="Arial, Helvetica, sans-serif">=>
Introduction <=<br>
</font></a> <font face="Arial, Helvetica, sans-serif"><a href="#function">=>
Functions <=<br>
</a> <a href="#atoolsa">=> Additional tools <=<br>
</a> </font></font></b><b><font size="4"><font face="Arial, Helvetica, sans-serif"><a href="#tips">=>
Tips & Tricks <=<br>
</a> <a href="#credits">=> Credits <=</a></font></font></b> </div>
</td>
<td width="5%" valign="middle" align="right">
<div align="right"><img src="Data/Overlord.jpg" width="74" height="150" alt="Overlord"></div>
</td>
</tr>
</table>
<div align="center">
<hr color="#000066">
<table width="100%" border="1" bgcolor="#000000" bordercolor="#00FF00">
<tr>
<td>
<div align="center"><b></b>
<table width="100%" border="0">
<tr>
<td width="5%" align="left" valign="middle">
<div align="left"><b><font size="6" color="#FF0000" face="Arial, Helvetica, sans-serif"><img src="Data/Icon.gif" width="32" height="32" align="middle"></font></b></div>
</td>
<td width="90%" valign="middle" align="center">
<div align="center"><font color="#FF0000" size="6"><b><font face="Arial, Helvetica, sans-serif">Introduction
<a name="intro"></a></font></b></font></div>
</td>
<td width="5%" valign="middle" align="right"><img src="Data/Icon.gif" width="32" height="32" align="middle"></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<hr color="#000066">
<table width="100%" border="0" bgcolor="#000000">
<tr>
<td>
<p><b>Q: What actually is project Controller 4?</b></p>
<p>A: Project Controller v4.0 is an advanced gameplay controlling program
for Jazz Jackrabbit 2 that I made in Visual Basic 5. It's probably the
best gameplay controlling program available.</p>
<p><b>Q: What can be done with the program?</b></p>
<p>A: Project Controller 4 allows you to set, edit, change many JJ2 settings.
It is designed specially for server hosting. It gives you the ability
to change current game type, edit multiplayer score, change the next
level setting, change music being played in a level, set the number
of max. players and much more without having to stop and restart server.
Some options can be used by clients while others are only available
for the host.</p>
<p><b>Q: Cool! Does it work for 1.23 or TSF?</b></p>
<p>A: Like I said, project Controller 4 is an advanced program. It works
in both versions and it has a built-in version detector so you don't
have to select the right version. It does it automatically for you.</p>
<p><b>Q: Does it support other versions like Shareware or Holiday Hare
98?</b></p>
<p>A: Sorry, no. Those versions are so rarely used that I didn't feel
the need to add a support for them.</p>
<p><b>Q: Can I use it for single player too?</b></p>
<p>A: Well I can't say no. Project Controller was designed for multiplayer
games. If you want to use it for single player, do it but you will find
some of the functions useless for example: Server type, Max. players,
Server password etc. Settings like next level, level music, level name,
skip/restart level are still fully functional.</p>
<p><b>Q: Can the program be used by clients in an evil way?</b></p>
<p>A: I must admit that there are some functions in the program that can
be considered as cheats like self-destruct function for example. If
players use it they'll move back to start pos losing all ammo and power-ups
they had. Their health is remained untouched (except for the server's
health that is restored). By using other functions in a server as a
client they will affect only their (local player) game and not the server
so it's safe to use them.</p>
<p><b>Q: Are there any other things we should know before using it?</b></p>
<p>A: Here I told just the basic things about it. If you think you already
know enough about it you can start using it now. Otherwise read on (as
I recommend anyway) to learn more.</p>
<p><a href="#top">TOP </a></p>
</td>
</tr>
</table>
<hr color="#000066">
<table width="100%" border="1" bgcolor="#000000" bordercolor="#00FF00">
<tr>
<td>
<div align="center"><b></b>
<table width="100%" border="0">
<tr>
<td width="5%" align="left" valign="middle">
<div align="left"><b><font size="6" color="#FF0000" face="Arial, Helvetica, sans-serif"><img src="Data/Icon.gif" width="32" height="32" align="middle"></font></b></div>
</td>
<td width="90%" valign="middle" align="center">
<div align="center"><b><font size="6" color="#FF0000" face="Arial, Helvetica, sans-serif">Functions<a name="function"></a></font></b></div>
</td>
<td width="5%" valign="middle" align="right"><img src="Data/Icon.gif" width="32" height="32" align="middle"></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<hr color="#000066">
<table width="100%" border="0" bgcolor="#000000" align="center">
<tr>
<td height="2" valign="top">
<table width="100%" border="0">
<tr>
<td width="1%" align="center" valign="middle"><img src="Data/Controller.jpg" width="301" height="294" alt="Project Controller 4" align="middle"></td>
<td valign="middle" align="center">
<p align="center"><font size="2" color="#FF0000">Functions:<br>
</font><font size="2"> <a href="#gt">1. Game type<br>
</a> <a href="#mps">2. Multiplayer score<br>
</a> <a href="#max">3. Max. players<br>
</a> <a href="#stype">4. Server type<br>
</a> <a href="#next">5. Next level<br>
</a> <a href="#lvlmus">6. Level music<br>
</a> <a href="#srvpass">7. Server password<br>
</a> <a href="#lvlname">8. Level name<br>
</a> <a href="#saveme">9. Save<br>
</a> <a href="#openme">10. Open<br>
</a> <a href="#saveall">11. Save all<br>
</a> <a href="#detall">12. Detect all<br>
</a> <a href="#tools">13. Tools<br>
</a> <a href="#butcont">14. Control<br>
</a> <a href="#warnings">15. Warnings<br>
</a> <a href="#about">16. About<br>
</a> <a href="#exitdone">17. Exit</a></font></p>
</td>
</tr>
</table>
<hr color="#000066">
<p><b><font size="4" color="#FF0000">1. Game type<a name="gt"></a><br>
</font></b>I'm sure that every jazzer knows very well that there are
total 6 game types available in Jazz Jackrabbit 2 which include single
player, cooperative, race, battle, treasure hunt and capture the flag.
Well this option lets you switch from one to another without having
to restart your server as you otherwise have to. I also have to mention
one small limit in here. If the game type is switched to single player
you can freely cheat using jj2 cheat codes (jjshield etc.). That's why
only the host is allowed to switch to single player. This denies clients
to cheat and ruin your game. But if you (as server) switch to single
player not only you will be able to cheat but everyone else who joined
the server after the switch.</p>
<p><font size="4"><b><font color="#FF0000">2. Multiplayer score<a name="mps"></a><br>
</font> </b> </font> Every server has a count limit so when reached
by someone the game ends and the person wins. This option allows you
to edit the count limit while the game is running. Don't set the counter
to zero because in some game types levels will keep changing.</p>
<p><b><font size="4" color="#FF0000">3. Max. players<a name="max"></a><br>
</font><font size="4"> </font> </b> This number indicates the maximum
number of players allowed in the server. You can edit it while the game
is running. If there are some players in the server and you change the
number to a lower number than the number of players in the server nobody
will leave the server because of that. I guess you'll have to kick some.
:) You can choose a number between 1 and 32.</p>
<p><b><font color="#FF0000" size="4">4. Server type<a name="stype"></a><br>
</font> </b> There are two types of servers in JJ2. Public and private.
Private servers require a password to join. Okay, there are ways to
join without having to enter the password but I don't think it is wise
to say. Use this option to toggle server password no or off. If you
want to change the server to private I recommend you to host it as private
first and then change it to public before changing it to private again.
See <a href="#tips">tips & tricks</a>, <a href="#hapswc">hosting
a private server with Controller 4</a> for more info.</p>
<p><b><font size="4" color="#FF0000">5. Next level<a name="next"></a><br>
</font><font size="4"> </font> </b> Here you can choose which level
will load after the game finishes. If you choose a level designed for
a different game type than the one that is currently running don't forget
to change it too. Remember to pick levels in the jj2 folder. If you
choose levels in another folder you'll have to include the folder or
even write the full path.</p>
<p><font size="4" color="#FF0000"><b>6. Level music<a name="lvlmus"></a><br>
</b> </font> This allows you to change the music that is being played
in a level. After you change it it will not start playing immediately.
You have to get roasted by someone first. Or just use the <a href="#selfdes">self-destruct</a>
function. </p>
<p><b><font color="#FF0000" size="4">7. Server password<a name="srvpass"></a><br>
</font> </b> Edit your server password while the game is running. The
<a href="#stype">server type</a> must be private to work. After you
change the password people will have to enter the new one.</p>
<p><b><font color="#FF0000" size="4">8. Level name<a name="lvlname"></a><br>
</font> </b> This changes the level name. You can change for example
Battle Game to Overlord's battle.</p>
<p><b><font color="#FF0000" size="4">9. Save<a name="saveme"></a><br>
</font><font color="#FF0000"> </font> </b> Press this button to save
the option next to it.</p>
<p><b><font color="#FF0000" size="4">10. Open<a name="openme"></a><br>
</font><font color="#FF0000"> </font> </b> This button brings up a (common
dialog) window to search for files ex. levels.</p>
<p><b><font color="#FF0000" size="4">11. Save all<a name="saveall"></a><br>
</font><font color="#FF0000"> </font> </b> Save all changes in all eight
fields.</p>
<p><font size="4" color="#FF0000"><b>12. Detect all<a name="detall"></a><br>
</b> </font> This will fill all the fields with current settings. Use
it to recover settings from the game.</p>
<p><b><font color="#FF0000" size="4">13. Tools<a name="tools"></a><br>
</font> </b> This will open a pop-up menu with some tools that might
be useful to control gameplay. You can access windows registry editor
here and character map. There are also three built-in tools which are
<a href="#weirdtool">Weird v2.1</a>,<font color="#FFFF00"> </font><a href="#stealthtool">Stealth
kicker 3.1</a><font color="#FFFF00"> </font>and <a href="#vertool">Connector
v1.1</a>.<font color="#FFFF00"> </font>These are the <a href="#atoolsa">additional
tools</a>.</p>
<p><b><font color="#FF0000" size="4">14. Control</font><a name="butcont"></a><br>
</b>Press this button and a pop-up menu will appear. Here you have three
nice gameplay controls that I thought would be nice to include.</p>
<p> The first one is "<b>Restart level</b>". If you want to
repeat the game like assault for ex. press this button and then "Restart
level". This will restart the level no matter which game type.
This option is only available for the host.</p>
<p>The next control is "<b>Skip level</b>" which will end the
game and load up next level. I added these two because I saw how people
used previous versions of this program to restart and skip levels by
editing score. That was a bit hard for me so I made it a little easier.
This was also one of the main reasons for Controller 4. This option
is also available only for the host.</p>
<p><a name="selfdes"></a>Let's not forget the last control that is "<b>Self-destruct</b>".
This function will bring you back to the start pos. but you will also
lose all your ammo and power-ups. If you are a client your health will
remain untouched but if you are a server your health will be restored.
This option is also useful when you get stuck or if you don't want to
wait to get roasted to change the <a href="#lvlmus">level music</a>.</p>
<p><b><font color="#FF0000" size="4">15. Warnings<a name="warnings"></a><br>
</font><font color="#FF0000"> </font> </b> This option is automatically
switched on the first time you run Controller. If you're afraid to screw
up your server and gameplay by using Controller for the first time leave
this option on and it will warn you of possible mistakes that can damage
your game. After a while when you learn enough just turn it off and
the warnings won't bother you any more.</p>
<p><b><font size="4" color="#FF0000">16. About<a name="about"></a><br>
</font><font size="4"> </font> </b> Brings up the window that tells
a bit things about the program.</p>
<p><b><font color="#FF0000" size="4">17. Exit<a name="exitdone"></a><br>
</font><font color="#FF0000"> </font> </b> Guess.</p>
<p><a href="#top">TOP</a></p>
</td>
</tr>
</table>
<hr color="#000066">
<table width="100%" border="1" bgcolor="#000000" bordercolor="#00FF00">
<tr>
<td>
<div align="center"><b></b>
<table width="100%" border="0">
<tr>
<td width="5%" align="left" valign="middle">
<div align="left"><b><font size="6" color="#FF0000" face="Arial, Helvetica, sans-serif"><img src="Data/Icon.gif" width="32" height="32" align="middle"></font></b></div>
</td>
<td width="90%" valign="middle" align="center">
<div align="center"><b><font size="6" color="#FF0000" face="Arial, Helvetica, sans-serif">Additional
tools<a name="atoolsa"></a> </font></b></div>
</td>
<td width="5%" valign="middle" align="right"><img src="Data/Icon.gif" width="32" height="32" align="middle"></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<hr color="#000066">
<table width="100%" border="0" bgcolor="#000000">
<tr>
<td>
<table width="100%" border="0">
<tr>
<td colspan="2"><b><font size="4" color="#FF0000"><i>Weird v2.1<a name="weirdtool"></a><br>
</i> </font> </b>This tool is used to rename players in the server.
If you are a client and you rename other players you will see the
new names but it will only affect your (local computer) game and
not the server. But if you (as the host) rename players people who
join after that will see the new names. You can also use this to
recover player names that use ASCII (American Standard Code for
Information Interchange).</td>
</tr>
<tr>
<td width="1%"><img src="Data/Weird.jpg" width="293" height="112" alt="Weird v2.1"></td>
<td align="center" valign="middle">
<p><font size="2" color="#FF0000"><b>Functions:<br>
</b> </font><font size="2"> <a href="#selplay">1. Select player<br>
</a> <a href="#plnamef">2. Player name<br>
</a> <a href="#rnconfol">3. Rename<br>
</a> <a href="#chrmprun">4. Charmap<br>
</a> <a href="#closwe">5. Close</a></font></p>
</td>
</tr>
</table>
<p><font color="#FF0000"><b>1. Select player (dropdown list)<a name="selplay"></a><br>
</b></font>Use this to select which player to rename. When you select
a player Weird will automatically load his current name.</p>
<p><font color="#FF0000"><b>2. Player name (text box)<a name="plnamef"></a><br>
</b> </font> This is a text box where you can edit player names.</p>
<p><b><font color="#FF0000">3. Rename<a name="rnconfol"></a><br>
</font> </b> Confirm changes.</p>
<p><b><font color="#FF0000">4. Charmap<a name="chrmprun"></a><br>
</font> </b> Run Windows character map (only if available).</p>
<p><b><font color="#FF0000">5. Close<a name="closwe"></a><br>
</font> </b> Close this window and return to Controller 4.</p>
<hr color="#000066">
<table width="100%" border="0">
<tr>
<td colspan="2"><b><font size="4" color="#FF0000"><i>Stealth kicker
v3.1<a name="stealthtool"></a><br>
</i> </font> </b>Here's a tool used to kick players from a game
without showing any "(player) was kicked off" messages.
Players that get stealth-kicked by server usually time out. If you
are a client and you stealth-kick a player he will only become invisible
and you won't be able to see his chat. Use the "Recall player"
(this is one of the new functions in Stealth kicker) function to
UN-kick players or <a href="#clslot">close slots</a>.</td>
</tr>
<tr>
<td width="1%"><img src="Data/Stealth.jpg" width="135" height="160" alt="Stealth kicker v3.1"></td>
<td align="center" valign="middle">
<p><font size="2" color="#FF0000"><b>Functions:<br>
</b> </font><font size="2"><a href="#lstsp">1. Select a player<br>
</a> <a href="#lktp">2. Kick player<br>
</a> <a href="#comeback">3. Recall player<br>
</a> <a href="#stealthend">4. Close</a></font></p>
</td>
</tr>
</table>
<p><b><font color="#FF0000">1. Select a player (dropdown list)<a name="lstsp"></a><br>
</font> </b> Select a player you want to stealth-kick/recall.</p>
<p><font color="#FF0000"><b>2. Kick player<a name="lktp"></a><br>
</b></font><b> </b> Stealth-kick the player. Make him ping out. Also
used to free closed slots.</p>
<p><b><font color="#FF0000">3. Recall player<a name="comeback"></a><br>
</font> </b> This button is new here. It has two functions. First one
is to UN-stealth-kick a player you stealth-kicked earlier (make him
available again) and the second one is to <a href="#clslot">close empty
slots</a> so players won't be able to join to that slot.</p>
<p><b><font color="#FF0000">4. Close<a name="stealthend"></a><br>
</font> </b> Close this window and return to Controller 4.</p>
<hr color="#000066">
<table width="100%" border="0">
<tr>
<td colspan="2"><b><font size="4" color="#FF0000"><i>Connector v1.1<a name="vertool"></a><br>
</i> </font> </b>A little program which allows you to edit your
Jazz Jackrabbit 2 version so you are able to join servers with different
versions and host servers with different versions. For example if
you have TSF you can't join 1.23 servers. Using this tool this is
now possible. There are total seven versions available to choose.
See a <a href="#totsfguys">step by step tutorial</a> about how to
join/host.</td>
</tr>
<tr>
<td width="1%"><img src="Data/Version.jpg" width="238" height="105" alt="Connector v1.1"></td>
<td align="center" valign="middle">
<p><font size="2" color="#FF0000"><b>Functions:<br>
</b></font><font size="2"><a href="#newver">1. Select new version<br>
</a> <a href="#converedit">2. Change<br>
</a> <a href="#donevered">3. Close</a></font></p>
</td>
</tr>
</table>
<p><b><font color="#FF0000">1. Select new version (dropdown list)<a name="newver"></a><br>
</font> </b> This allows you to choose between several Jazz Jackrabbit
2 versions.</p>
<p><b><font color="#FF0000">2. Change<a name="converedit"></a><br>
</font> </b> Confirm changes.</p>
<p><b><font color="#FF0000">3. Close<a name="donevered"></a><br>
</font> </b> Close this window and return to Controller.</p>
<p><a href="#top">TOP</a></p>
</td>
</tr>
</table>
<hr color="#000066">
<table width="100%" border="1" bgcolor="#000000" bordercolor="#00FF00">
<tr>
<td>
<div align="center"><b></b>
<table width="100%" border="0">
<tr>
<td width="5%" align="left" valign="middle">
<div align="left"><b><font size="6" color="#FF0000" face="Arial, Helvetica, sans-serif"><img src="Data/Icon.gif" width="32" height="32" align="middle"></font></b></div>
</td>
<td width="90%" valign="middle" align="center">
<div align="center"><b><font size="6" color="#FF0000" face="Arial, Helvetica, sans-serif">Tips
& tricks<a name="tips"></a></font></b> </div>
</td>
<td width="5%" valign="middle" align="right"><img src="Data/Icon.gif" width="32" height="32" align="middle"></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<hr color="#000066">
<table width="100%" border="0" bgcolor="#000000">
<tr>
<td>
<p><b><font color="#FF0000">Hosting a ghostly server with Controller 4<br>
</font></b>One of the things I discovered after I played with <a href="#stealthtool">Stealth
kicker</a> a bit is that you can actually host so called "Ghostly
servers". These are just like every server else except that the
host can't be seen by any client (he is invisible). He can roast and
get roasted but clients will only see bullets firing out of nowhere.
The person who roasts or gets roasted will see a text saying that he
roasted/was roasted by himself. One of the bad things in here is that
you (as the host) won't be able to chat. Let me explain how to do it
step by step.</p>
<p>First run Jazz Jackrabbit 2 and host a <b>private</b> server (host
private server so people won't be able to join 'till you get ready)
with the level and game type you want. Then run Controller 4 and <b><a href="#stealthtool">Stealth
kicker</a></b>. Kick <b>player 1 - the host - your self</b>. You will
get a black screen and you won't be able to do anything. Just leave
it that way, don't close it. Now you need another JJ2 window running.
Get it by running Xperimental jj2 (XJJ2), selecting "Serve a game"
and just pressing the "Finish" button. This is one way to
get two jj2 windows running at the same time. When the new jj2 window
opens immediately press the big button in Xjj2 to delist the Xjj2 server.
Now use the <b>new</b> jj2 window (that is fully functional) to join
your own private server (you know the password, don't you?). If it doesn't
appear in the list just type in the IP address shown at Xjj2, if you
haven't closed it already. Now join the server and the black screen
will jump from the server window to the new jj2 window (the client window).
The server window will now be fully functional again. You will see yourself
falling down from POs 0, 0. If you can't get anywhere from this POs
you will later need to warp to a better POs or just self-destruct :)
but you needn't do this now. When this is done close the <b>client window</b>
<b>(the one with black screen)</b>, you really don't need it any more.
At that moment the black screen will jump from the client window that
you closed to the server window. Go to <a href="#stealthtool">Stealth
kicker</a> and recall player 1 - yourself. Congrats! The server is now
a ghostly server. You'll probably be somewhere near POs 0, 0 again.
So now <a href="#selfdes">self-destruct</a> to get to a better pos.
Now make the server public using Controller 4 so people will be able
to join and ehehe BOOOOOOOOO! :) Just watch those confused people.</p>
<p>Instead of all that Xjj2 thing you can simply host a public server,
stealth-kick yourself and wait for another player to join to slot 1.
You will become him (you'll see yourself near POs 0, 0, don't do anything,
this is not over yet), he will get a black screen and he'll probably
either close jj2 or sooner/later time out and leave. At that point you'll
get the black screen (this is just like above when you close the client
window and the black screen jumps from the client window to server).
Quickly recall yourself using <a href="#stealthtool">Stealth kicker</a>
(and if necessary<a href="#selfdes"> self destruct</a> to go to a better
pos. You may also want to rename yourself using <a href="#weirdtool">Weird</a>).
Boom! Ghostly server up. This is the second way to host such server
but player that joined in the first place may not want to join again
so don't be lazy and get a bad name...</p>
<p><b><font color="#FF0000">Hosting a private server with Controller 4<a name="hapswc"></a><br>
</font> </b> There is one known problem when hosting a private server
with Controller 4. If you host a public server and later change it to
private players who join through jj2 will have to enter password but
users who use Xjj2 or something similar to join will be able to join
without having to enter the password because the server is shown as
public on list servers. So host a private server and then change it
to public. Your server will in this case appear private in server list
hiding it from Xjj2 and other progs. After enough players have joined
your server change it to private again to close the access. Remember!
Hosting your server as private and later changing it to public can be
used to hide it from other progs.</p>
<p><b><font color="#FF0000">Closing empty slots with Controller 4<a name="clslot"></a><br>
</font> </b> As you already know, there are 32 free slots in a multiplayer
game. Slot number one is usually reserved for the host. Slots from 2
to 32 are free for other players to join. But if you somehow feel the
need to close some slots (so players won't be able to join into that
slot) you can always do so. Run Controller 4 and then <a href="#stealthtool">Stealth
kicker</a>. Now you have to select a slot. The player you select represents
a slot number for ex. player 2 is for slot #2. So just select a slot
and click "<a href="#comeback">Recall player</a>" button.
It will look just like if somebody (with name "<Closed>")
joined the game into that slot. But there will be no "(player)
joined the game" text. This slot is now closed. Other players in
the server will see this slot empty but they won't be able to join the
game using the closed slot. To open a closed slot select it in <a href="#stealthtool">Stealth
kicker</a> and press the "<a href="#lktp">Kick player</a>"
button. This will free the closed slot and clients will be able to use
it once again. But I also have to warn you! Do not kick or ban closed
slots. Your jj2 will crash.</p>
<p><b><font color="#FF0000">Using Connector to join servers with a different
version<a name="totsfguys"></a><br>
</font> </b> One of the additional tools project Controller 4 has is
the <a href="#vertool">Connector</a>. <a href="#vertool">Connector</a>
gives you the ability to join and host servers with a different version
than the one you currently own. If you're a jazzer that owns both JJ2
versions (1.23 and TSF) you'll find this tool boring but those who have
only 1.23 or TSF will find it quite useful. So let's start with hosting
a server in another version. Run Controller 4 and Version editor a.k.a.<a href="#vertool">Connector
v1.1</a>. Now run your Jazz 2 and configure your server settings (you
can do this later if you want). But <b>before</b> you start hosting
the server go to <a href="#vertool">Connector</a>, select a new version
in the <a href="#newver">dropdown list</a> and confirm it by pressing
the "<a href="#converedit">Change!</a>" button. Now go back
to jj2 again and start hosting the server. Your server now has a new
version and people who play that version of jj2 will be able to join
your server. If you want to make sure about the new version click the
start button in the windows task bar, choose "Run...", type
in "<a href="telnet://jazz.logicware.com:10057"><b>telnet://jazz.logicware.com:10057</b></a>"
and click OK. This will recover a list of currently available servers
from Logicware list servers. Yours will be among them. So just check
the version :). As for the joining part. Use <a href="#vertool">Connector</a>
to change the version as you did above. But remember... You always have
to change the version <b>BEFORE</b> you join/host. Now join as you would
like always. And there is something else you should know about. Some
errors can occur while trying to connect to another server. If you have
1.23 and try to connect to a TSF server you might get some errors because
TSF servers usually use levels and tilesets made with TSF JCS which
your real version of jj2 doesn't support.</p>
<p><a href="#top">TOP</a></p>
</td>
</tr>
</table>
<hr color="#000066">
<table width="100%" border="1" bgcolor="#000000" bordercolor="#00FF00">
<tr>
<td>
<div align="center"><b></b>
<table width="100%" border="0">
<tr>
<td width="5%" align="left" valign="middle">
<div align="left"><b><font size="6" color="#FF0000" face="Arial, Helvetica, sans-serif"><img src="Data/Icon.gif" width="32" height="32" align="middle"></font></b></div>
</td>
<td width="90%" valign="middle" align="center">
<div align="center"><b><font face="Arial, Helvetica, sans-serif" size="6" color="#FF0000">Credits<a name="credits"></a></font></b></div>
</td>
<td width="5%" valign="middle" align="right"><img src="Data/Icon.gif" width="32" height="32" align="middle"></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
<hr color="#000066">
<table width="100%" border="0" bgcolor="#000000">
<tr>
<td>
<table width="100%" border="0">
<tr>
<td colspan="3">
<div align="center"><font size="2"><b>Thanks for downloading</b></font></div>
</td>
</tr>
<tr>
<td width="5%">
<div align="left"><img src="Data/FrogL.gif" width="32" height="32"></div>
</td>
<td width="90%">
<div align="center"><font color="#FF0000"><b><font size="5">Project
Controller v4.0</font></b></font></div>
</td>
<td width="5%">
<div align="right"><img src="Data/FrogR.gif" width="32" height="32"></div>
</td>
</tr>
<tr>
<td colspan="3">
<div align="center"><font size="2">An advanced gameplay controlling
program for Jazz Jackrabbit 2.<br>
Created by Overlord of J2HG, (c) 2002</font></div>
</td>
</tr>
</table>
<p align="center">Thanks to Macromedia for creating Dreamweaver. This
readme was created with it.<br>
Thanks to Microsoft for making Visual Basic. Without it I would not
be able to create any programs.<br>
Thanks to Epic and Orange games for making Jazz Jackrabbit. It's a great
game, too bad it has no future.<br>
And finally! Thanks to the whole jj2 community for their support.<br>
Sorry, if I forgot to mention anyone. </p>
<p align="center">Visit my site <a href="http://www.geocities.com/atlastsome" target="_blank">STRONGHOLD:
Jazz</a> or our programming group <a href="http://link.idlegames.com/j2hg" target="_blank">J2HG</a>
for the latest programs. </p>
<p align="center"><b><font color="#FF0000" size="2">LONG LIVE, JJ2 COMMUNITY!</font></b></p>
</td>
</tr>
</table>
<hr color="#000066">
</div>
</body>
</html>
Jazz2Online © 1999-INFINITY (Site Credits). We have a Privacy Policy. Jazz Jackrabbit, Jazz Jackrabbit 2, Jazz Jackrabbit Advance and all related trademarks and media are ™ and © Epic Games. Lori Jackrabbit is © Dean Dodrill. J2O development powered by Loops of Fury and Chemical Beats.
Eat your lima beans, Johnny.