JJ2+ Beta Release (last updated Jun 30, 2010) Created by BlurredD based on Neobeo's code With much help from Monolith And additional code by Grytolle aka Carrotade v1.2X+ aka 1.23+/1.24+ Credits: Neobeo, Monolith, Cpp (Overlord), Grytolle, EvilMike, Bobby aka Dizzy, Nimrod, Red^Ninja, Salface, Shane Lillie (Notepad chatlogger), cooba, Emo (some guy), Cataphract, the [semi-idle], Syntax (who made the originally Roast Tag rules), SuPrem, the guys at CodeProject, and others who (might?) know who they are. Sections: 1. Installation and things you should know 2. Latest Changes 3. New features and bug fixes 4. Known Issues 5. Playlog 6. plus.exe - Level List and Zipping Levels 7. Remote Admin 8. Roast Tag 9. Flag Run 10. Team Last Rabbit Standing 11. Domination 12. Pit Levels 13. Special Trigger Zones 14. JCS Events 15. Plus Only Features 16. The Commands 17. New Command Line Arguments 1. Installation and things you should know ================================================================================ Installation: Extract all files into your Jazz2 directory. Read the rest of this readme for more details. Some of the features included with JJ2+ can easily be misused. While clients are allowed to leave your server any time they choose, it is best not to alienate them by abusing certain features. Use this program responsibly, or don't use it at all... Unlike Carrotade versions 1.0 through 1.2, JJ2+ is NOT ONLY A SERVER TOOL. JJ2+ is a hybrid of Carrotade and 1.23+ features, and so you are encouraged to use this as a client. In fact, when the server and the client both are running Plus, the client can see and use additional features. JJ2+ could be described as a sort of patch, almost like a "v1.25" with various new features and bug fixes. Though at this moment, it's mostly for multiplayer use. JJ2+ only works with the full versions 1.23 and 1.24 (TSF), although not all versions of 1.23 and 1.24 are supported. In particular, TSF: LK Avalon is not supported. JJ2+ is incompatible with NeoAC, Carrotade, and Grytolle's original 1.23+ patch, and may conflict with Forest, Project Controller, and other utilities/patches made recently. plus.dll MUST be in the same directory as JJ2's exe. Generally, this file will need to be replaced with each update of JJ2+. plusifier.exe takes JJ2's original exe (either 1.23 or TSF) and makes a new exe that automatically runs plus.dll on startup. The new exe will have a plus sign added to its filename. The Plusifier DOES NOT need to be used every time plus.dll or any other file gets updated. The latest version now allows for overwriting the original exe or another file, so BE CAFEFUL and make backups when necessary. Tell me if you have any problems with the Plusifier. plus.exe loads plus.dll into a running JJ2 process. If you choose to use this program, it's highly recommended you run plus.exe before starting/joining a game. plus.exe can also be used to add levels to LevelList.ini and to zip levels including their tilesets, music, and other linked levels automatically (see Level List and Zipping Levels section below). Use command line argument "-loadplus" to skip the prompt. You do NOT need to use both plusifier.exe and plus.exe at the same time. plus.dll should be placed in the same directory as JJ2's exe. bass.dll is used to load Bass audio library into JJ2. bass.dll must be in the same directory as plus.dll and JJ2's exe so that the functions of BASS audio library are automatically loaded by JJ2+. BASS audio library allows music support for MP3/MP2/MP1/OGG/WAV/AIFF and better music support for MOD music. WARNING: Users not running the latest version of JJ2+ WILL CRASH if JJ2 attempts to load any music file that is not a supported MOD music track. BASS version: 2.4 This readme is far from complete and poorly organized. This will change soon enough. There are still features and bug fixes that haven't been mentioned yet. See Known Issues for other things you should know. 2. Latest Changes ================================================================================ Jun 30, 2010 - Fixed issue where CTF death pits (instant death areas in Single Player mode created with CTF bases) would not work as intended in some situations. - Fixed glitch with "All Blue" and "All Red" modes where clients would sometimes see themselves on the wrong team (server-side fix). - Fixed issues related to players morphing characters (ideally both the server and clients must be running the latest version of JJ2+). - Fixed glitch with chat field and menu player name field where special accent mark key combinations were not handled properly. - Fixed glitch where random chat text was sent to others immediately after pressing 't' to show the chat field (local fix). Special thanks to FawFul for helping me figure out the problem. - Added additional parameters to events Area End Of Level, Area Warp EOL, and Area Warp Secret. The new parameters allow for fast level cycling and a greater number of choices for the next level. See JCS Events section below to learn what to do. - See levels SPlevel1.j2l and SPlevel2.j2l for an example. Warning: Running these levels through JCS (via Save & Run) may cause the levels to break if JCS.ini is not properly updated first. - Fixed Area Warp Secret event and Area End Of Level event with Secret set to 1 so that the event cannot later be retriggered when the player returns to the original level after playing the secret level(s). - Fixed glitch with Warp event and Area Warp Secret event where the "need x more" message was not displayed properly. - Fixed glitch with pit levels played offline in Single Player or Coop where not all local split screen players will die after falling into a pit. - Added the ability to insert and erase characters in the middle of the text of the chat field. - In Treasure mode, the level no longer cycles when a player reaches an exit during a stopped game (both the server and clients must be running the latest version of JJ2+). - Fixed glitch with level cycling in Single Player, Coop, and Race modes. - Fixed cycling issues in Single Player and Coop in online games. - The level now cycles when any player reaches an end-of-level exit. Note that bonus level exits still do not work. - The level now cycles when a boss is finished. Note that the server and clients may not see the boss finished off at the same time. - Clients running the latest version of JJ2+ no longer see the level cycle locally when they finish a boss while the server sees the boss as still alive. - Fixed glitch in Playlog where Place stat would show the incorrect place of players. - Improved collision detection for online games. - In Single Player and Coop, clients now lose hearts after being hit (client-side fix). - MCE and SCE events can now hit players without causing JJ2 to crash (server-side change). - WARNING: Clients not using the latest version of JJ2+ WILL CRASH if the level has any MCE/SCE seeker objects. - Fixed issues with Extended Last Rabbit Standing: - Made Place stat no longer partially determined by the number of points a player has. - Game will now only go into overtime if two or more players have the highest number of lives left. Previously, a winner would have been decided if one of those players had a higher number of points than the rest. - Improved HUD. - Redesigned HUD for Battle-based modes and most notably for LRS-based modes. - Fixed minor HUD player list sort issue (client-side fix). - Fixed other miscellaneous issues. - Added command "/maxresolution x" and configuration settings "MaxResolutionWidth" and "MaxResolutionHeight" (Max Resolution defaults to 640x480). Only players running the latest version of JJ2+ are affected. - For the Game List in the menu, now at most only 10 servers with the same IP address will be shown. - Increased the maximum distance a player can be hit by TNT in online games when Extended TNT Range is enabled. - Improved how start positions work in team games (local fix). If a level doesn't have a Multiplayer Level Start event for both blue team and red team, then players will start at any start position. - Latest Version Only setting now only applies to JJ2+ clients. Clients not using JJ2+ will be able to join when the setting is enabled. Use Plus Only setting to exclude those clients. - Fixes for being hit while/after warping and being killed while frozen are now used for all modes and both online and offline play. - Fixed glitch in Treasure mode where the server was able to die after hitting certain objects or events. - Removed command "/lives" which was used to send chat indicating each player's number of lives if custom mode was Extended Last Rabbit Standing. This command hasn't been needed by JJ2+ users for a long while. - Fixed minor in-game ping issue (server-side fix). - " scored a point" messages are now never displayed for Team Last Rabbit Standing (client-side fix). - Most Windows-1252 characters can now be typed into the server name in the menu. - Documentation fix: "-levellist=" should be "-levellistfile=". Apr 8, 2010 (A) - Fixed issues with UDP packets not being properly sent to the server (client- side fix). - Changed again how Lori's clothes colors are customized in multiplayer games (local fix). Lori's clothes color is now editable by setting the value that used to change the color of Lori's eyes. This means Lori's eye color will always be green. - Improved how Lori's fur color is displayed. - Added note related to the last update: When there are already 16 connections to the server, and the 17th connection is made, all clients using a previous version of JJ2+ will be kicked. Therefore, you may wish to limit the number of connections to 16 (with command "/maxconnections 16") until more people get the latest version of JJ2+. Apr 8, 2010 - If you didn't install the previous JJ2+ update, make sure to use the updated Plusifier. - Added configuration setting "UseAnyLocalAddress" (defaults to true). When false, a JJ2 will bind to a single local IP address when creating listen sockets. You probably don't want to change this setting. - Fixed glitch where a JJ2 server would fail to bind to a single local IP address when creating listen sockets. - Server now automatically relists if it loses its connection to the list server. - Added support for downloading music files: - Added server command "/uploadmusic " and configuration setting "UploadMusic" (defaults to on). - Added server command "/maxuploadpacketsize " and configuration setting "MaxUploadPacketSize" (defaults to 1024). - Added client command "/downloadmusic " and configuration setting "DownloadMusic" (defaults to on). When downloading music, note that the escape key can be pressed to stop downloading while staying in the server. - Added client command "/downloadsamemusicversion " and configuration setting "DownloadSameMusicVersion" (defaults to off). - plus.exe can also be used to add levels to LevelList.ini and to zip levels including their tilesets, music, and other linked levels automatically (see Level List and Zipping Levels section below). Use command line argument "-loadplus" to skip the prompt and automatically load the plus.dll into a running JJ2 process. - Made adjustments which allow command "/changemusic " to increase the maximum allowed length for from 31 to 62 (though JJ2's chat limitations won't allow a filename that long). These changes make it impossible to change music through programs like Project Controller. - Added support for up to 32 connections in a server (both the server and clients must be running the latest version of JJ2+). Note that clients running a previous version of JJ2+ cannot join servers where there are already 16 or more connections. However, non-Plus clients can join such a server, although they won't be able to see chat from any client (including themselves) who has a connection number above 15. - Added command "/maxconnections " and configuration setting "MaxConnections" (defaults to 32). - Improved Max Players check for joining clients. - Added the needless ability for the server to be able to host levels from folders other than the Jazz2 directory, including the cache folder, without causing problems for clients. The 31 character limit still applies to the length of the path and filename of the level, and the tileset for the level must exist in the Jazz2 directory. - No Fire Zone events now work in Single Player mode (local change). - Spring delays now work in all game modes (local change). Previously spring delays only worked for Battle, Race, and Treasure. - Re-added constraint where secret levels cannot cycle to other secret levels. - Improved the fix for the glitch where a player hits a warp event while the level cycles and then continues warping to a random postion in the next level. It should now always work even if the player was frozen while warping. Also, the warp fix is now only for online games. - Most Windows-1252 characters can now be typed into the chat field. - Most Windows-1252 characters can now be typed into a player name in the menu. Also, a space character can now be used as the second character in the name. - When editing a player name, the name is no longer displayed animated in a pattern of colors. - Updated how chat is stored and displayed within JJ2. Most notably, chat lines no longer disappear if the player who said the lines leaves the server. - Updated "/ban" and "/kick" commands to "/ban [