Register FAQ Search Today's Posts Mark Forums Read
Go Back   JazzJackrabbit Community Forums » Open Forums » General Jazz Jackrabbit Talk

Jazz 2 dedicated server project

Reply
 
Thread Tools
Cpp Cpp's Avatar

JCF Member

Joined: Mar 2001

Posts: 1,557

Cpp is doing well so far

Aug 20, 2006, 06:16 AM
Cpp is offline
Reply With Quote
Question Jazz 2 dedicated server project

Welcome to the drawing board!
What features would you like to see in a dedicated server for jj2? How do you think it should be structured? What programming languages should be used? Should there be extensions? Discuss al the questions you like.

Recoding the jj2 engine itself and creating a dedicated server of it can give us a lot of room for improvements over current standard jj2 servers. The possibilities are almost limitless. Basically all server tools that exist so far could be put into this one project. Over the past months there have been lots of breaking jj2 discoveries and innovations. We are slowly starting to comprehend how our game works. This gives us the chance to look ever deeper inside and reveal more of its secrets. The benefits of creating a dedicated server are many (this is by no means a complete list):
  • Many server vulnerability and bux fixes
  • Improved stability
  • Excellent support for bots (AI)
  • Anti-cheating software integration
  • Chat logging
  • Controller-like server administration with lots more options
  • Support to place votes over jj2 chat (eg. what level to load next, what player to kick, etc.)
  • Accurate game stats creation
  • Player max health control (instagib, 3 heart battle, 5 heart ctf, etc.)
  • Game time limiter
  • No more download problems
  • Random level selection
  • Scripted servers
  • Hosting on different ports
  • Better support for many new game modes
  • etc
  • etc
  • etc

So there we go. This thread has been made sum up the recent ideas that a jj2 dedicated server could use. Please note that we are still far away from making the actual program, but this is a start.

Discuss.
__________________
<a href="http://nmap.org/"><img border="0" alt="Nmap Security Scanner" src="http://images.insecure.org/nmap/images/prop/nmap_bnr_matrix_pfos.gif"/></a>
minmay

JCF Member

Joined: Aug 2002

Posts: 1,184

minmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesomeminmay is immeasurably awesome

Aug 20, 2006, 10:19 AM
minmay is offline
Reply With Quote
Hooray.

...I've been trying to make a good level for a dedicated server loop lately. Now I want to do so even more.
Dermo Dermo's Avatar

JCF Member

Joined: Jun 2005

Posts: 1,743

Dermo should make better posts

Aug 20, 2006, 04:12 PM
Dermo is offline
Reply With Quote
Another advantage of this dedicated server would be that you could host multiple servers at once!

FINALLY SOMETHING LIKE THIS IS BEING WORKED ON! YAY!!!


__________________
Yes, I am, in fact, ALWAYS the one to blame for everything. And none of your are full of yourself. Good job.

Do you like Stijn? Take my poll!




Windows is not a virus. A virus is small and efficient...

Note to Stijn: how am i even getting away with this
Monolith

JCF Member

Joined: Mar 2001

Posts: 2,221

Monolith is doing well so far

Aug 20, 2006, 08:37 PM
Monolith is offline
Reply With Quote
Some quick initial thoughts.

Jazz 2 Dedicated Server

Goals

Basic Functionality

  • The server must recreate the full functionality of a Jazz 2 server such that clients joining the game will not know the difference, assuming a server running no extras.
  • The server should not try to go beyond this except to satisfy the other goals. All extra features should be done through plugins.

Dedicated

  • The server should be able to run, hosting a game, indefinitely requiring no user input and not wasting resources on output when output is not needed.
  • A graphical display or display of any kind must not be necessary for the operation of the server. That doesn't mean one can't be provided, but it just shouldn't be required.
  • The server should be fully automatable; meaning another script or program can easily start, stop, and otherwise control the server.
  • The server should be able to be modified without taking down the server. Obviously in some extreme cases this is not possible, such as when needing to replace the executable that's running, but that should be rare. Most other things, such as changing parameters or loading and unloading plugins, should be able to be performed on the fly.

Secure

  • Ensure that both the server and the clients are protected from malicious attacks or hack attempts from other clients.
  • Wherever possible, cheating should be hindered – unless of course the host chooses otherwise.

Flexible

  • The server should be flexible and easily modible to allow to allow expansion and improvement of the game and the server.

Code

  • The server would ideally be programmed in a language that is fast and has little overhead. Obviously this includes a lot of options, but it does exclude stuff like scripting languages.
  • Probably most importantly and most obvious, the server should be programmed in a language that is well understood by those who will be programming the server.
  • My personal preference would be to use C++. I might be biased to it because I know it the best, but it really is a good language for programming a game server. The language itself has little overhead, it can be object oriented (and should be used that way), and it allows for good exception handling. Other advantages include low-level socket access through Winsock, asynchronous sockets with Winsock 2, and it can easily work with DLLs which will be a good means of supporting plugins.

Plugins / Extensions / Mods

  • The best way to support flexibility and expandability is to make the server work with plugins. Plugins will allow hosts to easily alter the way the game or server works without actually changing the server itself, or relying on the feature to be built into the server.
  • Anyone should be able to make plugins.
  • A good method for implementing plugins would be to implement them as DLLs. DLLs can be created unconnected to the main program, and they can be easily loaded and unloaded while the main program is running.
  • One of the plugins could simply be an interface to a scripting language such as Lua or Python to allow for even easier mods.
__________________
<div style="float: right; width: 100px; height: 70px; margin: 5px 15px;"><img src="http://madskills.org/monolith/idleserver.gif" style="width: 98px; height: 65px;"><img src="http://madskills.org/monolith/theserver.gif" style="width: 98px; height: 65px; position: relative; top: -65px;"></div><div style="margin: 0 3em; font-size: 80%; font-style: italic;">Love is patient, love is kind. It does not envy, it does not boast, it is not proud. It is not rude, it is not self-seeking, it is not easily angered, it keeps no record of wrongs. Love does not delight in evil but rejoices with the truth. It always protects, always trusts, always hopes, always perseveres.</div><div style="text-align: right; text-size: 80%;">1 Corinthians 13:4-7</div>
Jerrythabest Jerrythabest's Avatar

JCF Member

Joined: Apr 2005

Posts: 2,602

Jerrythabest is a forum legendJerrythabest is a forum legendJerrythabest is a forum legend

Aug 21, 2006, 12:43 AM
Jerrythabest is offline
Reply With Quote
This sounds so great. This is so great. Whoever makes this is so great. I'm amazed. Such great things possible with JJ2, that's great. I can't wait for the great moment this great program will be finished by the great guy(s) making it.

Is this going to be a public program or used privately?
__________________
Black Ninja Black Ninja's Avatar

JCF Member

Joined: Mar 2001

Posts: 2,312

Black Ninja is an asset to this forumBlack Ninja is an asset to this forum

Aug 21, 2006, 10:35 AM
Black Ninja is offline
Reply With Quote
Quote:
Originally Posted by Jerrythabest
This sounds so great. This is so great. Whoever makes this is so great. I'm amazed. Such great things possible with JJ2, that's great. I can't wait for the great moment this great program will be finished by the great guy(s) making it.

Is this going to be a public program or used privately?
Even though it's being discussed, it's important to note that no one here has said "I am working on this" or "there is a team working on this."
Dermo Dermo's Avatar

JCF Member

Joined: Jun 2005

Posts: 1,743

Dermo should make better posts

Aug 21, 2006, 11:18 AM
Dermo is offline
Reply With Quote
Private or Public

Now come on here guys! What reason would you have for not wanting to distrubute the dedicated server when built? What harm could it do? That would cause more servers which would cause more happy players. And that could go alot farther too. They tell their friends and their friends buy Jazz Jackrabbit 2 and get on and then we'll have even MORE servers up and it could cause the community to expand. Now the pluggins i'm not so worried about being released because anyone can make them (including me). So yea release the dedicated server once it's made. Who knows? The community may go back to what it was like 10 years ago. Filled with servers and lots of people!!!

That's just my thinking.
__________________
Yes, I am, in fact, ALWAYS the one to blame for everything. And none of your are full of yourself. Good job.

Do you like Stijn? Take my poll!




Windows is not a virus. A virus is small and efficient...

Note to Stijn: how am i even getting away with this
cooba cooba's Avatar

JCF Veteran

Joined: Jan 2004

Posts: 7,812

cooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of lightcooba is a glorious beacon of light

Aug 21, 2006, 11:25 AM
cooba is offline
Reply With Quote
8 years, not 10, and it's rather obvious that this will be a public release.
Jerrythabest Jerrythabest's Avatar

JCF Member

Joined: Apr 2005

Posts: 2,602

Jerrythabest is a forum legendJerrythabest is a forum legendJerrythabest is a forum legend

Aug 21, 2006, 12:17 PM
Jerrythabest is offline
Reply With Quote
yeppee ah well I know that there is someone working on it (it's me )
__________________
ahat

JCF Member

Joined: Aug 2006

Posts: 50

ahat is doing well so far

Aug 23, 2006, 12:46 AM
ahat is offline
Reply With Quote
Quote:
Originally Posted by Black Ninja
Even though it's being discussed, it's important to note that no one here has said "I am working on this" or "there is a team working on this."
On the contrary! Not only is it being discussed, it's already has been started(If you ever see it up, check QuetzalSERV).

I'll take this post to say, "I am working on this", and "there is a team working on this". The team thus far includes myself, Overlord, Neobeo (and others?). As for what language it's being written in, and what I have currently written is C++, and to my knowledge it won't stray from that.

-ahat

NOTE: If anything in this post makes little or no sense, It's 5:21 A.M. and am too lazy to check for errors.
Jerrythabest Jerrythabest's Avatar

JCF Member

Joined: Apr 2005

Posts: 2,602

Jerrythabest is a forum legendJerrythabest is a forum legendJerrythabest is a forum legend

Aug 23, 2006, 01:23 AM
Jerrythabest is offline
Reply With Quote
ah well, now at least *the person who told me* can't say that I said who is working on it.
__________________
ahat

JCF Member

Joined: Aug 2006

Posts: 50

ahat is doing well so far

Aug 23, 2006, 01:33 AM
ahat is offline
Reply With Quote
People are...spamming it. =\
85.99.x.x
83.18.x.x
lalala =\

I'm going to leave it up for the night, I want to see how stable it'll hold up thus far (which isn't that far, since the project was only fabricated late in the weekend.)
Jerrythabest Jerrythabest's Avatar

JCF Member

Joined: Apr 2005

Posts: 2,602

Jerrythabest is a forum legendJerrythabest is a forum legendJerrythabest is a forum legend

Aug 23, 2006, 04:07 AM
Jerrythabest is offline
Reply With Quote
will it be possible to host as 1.23 while tsf people can join too, without version hacking
__________________
Grytolle Grytolle's Avatar

JCF Member

Joined: Sep 2004

Posts: 4,126

Grytolle is a forum legendGrytolle is a forum legendGrytolle is a forum legend

Aug 23, 2006, 06:02 AM
Grytolle is offline
Reply With Quote
Quote:
Originally Posted by Jerrythabest
will it be possible to host as 1.23 while tsf people can join too, without version hacking
You will love the next release of Forest, which I am coding
__________________
<center></center>
WaterRabbit WaterRabbit's Avatar

JCF Member

Joined: Jan 2005

Posts: 191

WaterRabbit is doing well so far

Aug 23, 2006, 10:47 AM
WaterRabbit is offline
Reply With Quote
Quote:
Originally Posted by ahat
On the contrary! Not only is it being discussed, it's already has been started(If you ever see it up, check QuetzalSERV).

I'll take this post to say, "I am working on this", and "there is a team working on this". The team thus far includes myself, Overlord, Neobeo (and others?). As for what language it's being written in, and what I have currently written is C++, and to my knowledge it won't stray from that.

-ahat

NOTE: If anything in this post makes little or no sense, It's 5:21 A.M. and am too lazy to check for errors.
How do I join the server? I tried joining and it said the server is a different version.
Dermo Dermo's Avatar

JCF Member

Joined: Jun 2005

Posts: 1,743

Dermo should make better posts

Aug 23, 2006, 11:36 AM
Dermo is offline
Reply With Quote
Talking

Quote:
Originally Posted by WaterRabbit
How do I join the server? I tried joining and it said the server is a different version.
same problem with me

THIS PWNZ IT OWNZ IT EVERYTHINGS!!! FINALLY! AHAT I AM NOT WORTHY!!!
__________________
Yes, I am, in fact, ALWAYS the one to blame for everything. And none of your are full of yourself. Good job.

Do you like Stijn? Take my poll!




Windows is not a virus. A virus is small and efficient...

Note to Stijn: how am i even getting away with this
Jerrythabest Jerrythabest's Avatar

JCF Member

Joined: Apr 2005

Posts: 2,602

Jerrythabest is a forum legendJerrythabest is a forum legendJerrythabest is a forum legend

Aug 23, 2006, 11:45 AM
Jerrythabest is offline
Reply With Quote
Quote:
Originally Posted by Grytolle
You will love the next release of Forest, which I am coding
I bet i will

I'll try to join that test server as well later tonight
__________________
Vegito

JCF Member

Joined: Oct 2003

Posts: 2,861

Vegito is an asset to this forum

Aug 23, 2006, 11:50 AM
Vegito is offline
Reply With Quote
Its pinging for me. ;P
__________________
Jerrythabest Jerrythabest's Avatar

JCF Member

Joined: Apr 2005

Posts: 2,602

Jerrythabest is a forum legendJerrythabest is a forum legendJerrythabest is a forum legend

Aug 23, 2006, 11:52 AM
Jerrythabest is offline
Reply With Quote
yeah the multiversion server is pinging now I don't like it anymore
__________________
piet piet's Avatar

JCF Member

Joined: Feb 2003

Posts: 438

piet is doing well so far

Aug 23, 2006, 12:03 PM
piet is offline
Reply With Quote
i dont know if there are plans yet but i think the server should be written cross platform so it would run on linux and on windows.
__________________
I remember playing jazz2 like crazy!
Dermo Dermo's Avatar

JCF Member

Joined: Jun 2005

Posts: 1,743

Dermo should make better posts

Aug 23, 2006, 12:05 PM
Dermo is offline
Reply With Quote
Well im still amazed. Just they need to work on it a little more i mean this is some crazy code they're coding lol

The problem is the three of them are the only ones in this community with the sourcecode otherwise it would have probably been done by now. Then added to and updated by everyone else in the community and rereleased.
__________________
Yes, I am, in fact, ALWAYS the one to blame for everything. And none of your are full of yourself. Good job.

Do you like Stijn? Take my poll!




Windows is not a virus. A virus is small and efficient...

Note to Stijn: how am i even getting away with this
ahat

JCF Member

Joined: Aug 2006

Posts: 50

ahat is doing well so far

Aug 23, 2006, 12:28 PM
ahat is offline
Reply With Quote
Quote:
Originally Posted by Jerrythabest
yeah the multiversion server is pinging now I don't like it anymore
The server is QuetzalSERV, not multiversion.
Wait until later tonight, I'll have something better up.
Jerrythabest Jerrythabest's Avatar

JCF Member

Joined: Apr 2005

Posts: 2,602

Jerrythabest is a forum legendJerrythabest is a forum legendJerrythabest is a forum legend

Aug 23, 2006, 12:35 PM
Jerrythabest is offline
Reply With Quote
I were actually talking about the new Forest Gry is making

I'm curious what you will have up :P and when :P
__________________
ahat

JCF Member

Joined: Aug 2006

Posts: 50

ahat is doing well so far

Aug 23, 2006, 12:37 PM
ahat is offline
Reply With Quote
Quote:
Originally Posted by Jerrythabest
I were actually talking about the new Forest Gry is making

I'm curious what you will have up :P and when :P
My bad, then.

QuetzalSERV and...I'm not sure, sometime tonight when I get some more done.
Grytolle Grytolle's Avatar

JCF Member

Joined: Sep 2004

Posts: 4,126

Grytolle is a forum legendGrytolle is a forum legendGrytolle is a forum legend

Aug 23, 2006, 12:58 PM
Grytolle is offline
Reply With Quote
My jazz2.log was too big and filled my HDD does giving an access violation :P Sorry about that, I was at a friend's house.
__________________
<center></center>
Sigma

JCF Member

Joined: Aug 2006

Posts: 4

Sigma is doing well so far

Aug 23, 2006, 09:06 PM
Sigma is offline
Reply With Quote
Wow this is an excellent idea, I would definitely get a server. Also one thing I would like in the server is if it could work natively using a Linux OS also. I don't know if this is possible and if its not its ok, but making it able to run on Linux would be great.
Jerrythabest Jerrythabest's Avatar

JCF Member

Joined: Apr 2005

Posts: 2,602

Jerrythabest is a forum legendJerrythabest is a forum legendJerrythabest is a forum legend

Aug 24, 2006, 01:21 AM
Jerrythabest is offline
Reply With Quote
Bad Bunny is able to join both 1.23 and 1.24 servers with the Mac version. Really funny =D

ah well, that was offtopic.
__________________
Cpp Cpp's Avatar

JCF Member

Joined: Mar 2001

Posts: 1,557

Cpp is doing well so far

Aug 24, 2006, 04:12 AM
Cpp is offline
Reply With Quote
Quote:
Originally Posted by Jerrythabest
will it be possible to host as 1.23 while tsf people can join too, without version hacking
Yes, I think it is possible to make the server appear bright in the list no matter what version of jj2 the user has. This *should* be included in the dedicated server project.

Actually we haven't agreed on anything just yet. There is no team working on any common project so far and the dedicated server is still a long way off. This thread exists for the sole purpose of collecting garbage ideas and Monolith has provided a whole lot of them in his post - so far I fully aggree with many of his suggestions. Thanks, Mono. There may be lesser research projects being developed at this time by individual people, but the big project hasn't started yet and there is no "official" team either. The reason for this is because we (as the community) have yet to figure out a lot of stuff we're missing eg. document the jj2 TCP and UDP protocols, fully understand the jj2 file formats, get a general idea of how the jj2 engine works, calculate weapon trajectories, etc. This is by no means a complete to-do list, but they are essentials for the project.

The current research team consists of few people doing various research on jj2 (see above). Me, Neobeo, ahat and maybe some others (I don't have a full list). Since this is only a research project (at this time), everyone is free to contribute knowledge we might need later, however, the final "big one" project will probably be a community project that would include many of the programmers from the community (if it gets to this point). Monolith? Alister? Link?

I'll post some more constructive content in a momnet.
__________________
<a href="http://nmap.org/"><img border="0" alt="Nmap Security Scanner" src="http://images.insecure.org/nmap/images/prop/nmap_bnr_matrix_pfos.gif"/></a>
Jerrythabest Jerrythabest's Avatar

JCF Member

Joined: Apr 2005

Posts: 2,602

Jerrythabest is a forum legendJerrythabest is a forum legendJerrythabest is a forum legend

Aug 24, 2006, 04:57 AM
Jerrythabest is offline
Reply With Quote
if you need anyone to make a site with a knowledge base feel free to ask me :P
__________________
Grytolle Grytolle's Avatar

JCF Member

Joined: Sep 2004

Posts: 4,126

Grytolle is a forum legendGrytolle is a forum legendGrytolle is a forum legend

Aug 24, 2006, 05:54 AM
Grytolle is offline
Reply With Quote
The tcp protocol seems pretty much covered already though. And regarding the trajectories I forsee that those are calculated clientside, so the server uses where they are to calculate whether they hit a player or not, rendering calculations useless for how bullets fly. (This forsight due to the fact that you can edit your gunspot to hit lots of people)
__________________
<center></center>
Cpp Cpp's Avatar

JCF Member

Joined: Mar 2001

Posts: 1,557

Cpp is doing well so far

Aug 24, 2006, 09:39 AM
Cpp is offline
Reply With Quote
I have made a short description of how I imagine the project to be structured. This doesn't mean that the final server will be structured exactly like this, but it gives a general idea of how things should be. Basically there are many pieces of code that the server could use, but I have listed only the most basic.

Quote:
Fileworks
The module for handling the jj2 file formats. This one should be able to load all jj2 files needed to run the server such as levels, tilesets and maybe some other data, if needed. It should import them into a readable format for the server so that it can do various things needed to operate - such as extract tile masks and generate a mask level map for collision detection, enum the level events, etc.

Networking
The basic networking module is a must for every network game. This is where all the network traffic is handled (tcp and udp) - downloads, player info interchange, chat, ping, listing/updating/delisting server, etc. Also, bad traffic is dropped.

Engine
The core of the project. Here is where most of the calculations take place.
server side trajectory calculation, collision, object respawns, game status, level changes when game finishes, etc. Graphical output will probably not be needed, but can be used as a plugin.

Interface
The basic way where a server admin can communicate to the server, allowing him to load new plugins (at runtime), unload old ones, configure the server, administrate the game, ban/unban players, etc. I don't know whether this should look like a w32console or a GUI window, I'd prefer the gui tho.

Logger
A kind of jj2spy-like module where user can see the history of the server. Some things that can be logged are server status, player chat, player joins/leaves, level switches, warnings/errors (such as bad j2l/j2t), etc. Should also be able to save the log to text files.

Plugin manager
Manages available plugins during runtime and loads them automatically when executable loads. The plugins can be DLL's in the plugin folder for example. It's not neccessary that all plugins come with an interface of their own, some plugins can offer extended functionality for the server (like runtime libraries for other plugins that rely on them)... which is why they should be visible to the othes. Plugin manager would maintain a list of loaded plugins so they may see each other. There are many ideas, but I'll keep this brief.
Personally I'd let the server use only the most basic code it needs to operate, most of other stuff should be done through plugins. Please comment.
__________________
<a href="http://nmap.org/"><img border="0" alt="Nmap Security Scanner" src="http://images.insecure.org/nmap/images/prop/nmap_bnr_matrix_pfos.gif"/></a>
Cpp Cpp's Avatar

JCF Member

Joined: Mar 2001

Posts: 1,557

Cpp is doing well so far

Aug 24, 2006, 10:15 AM
Cpp is offline
Reply With Quote
Regarding plugins, there are countless ideas for them. Here is a part of my list.
  • Game time limiter (ends the game after given time)
  • JJ2 stats generator
  • Anti-cheating protection
  • Graphical output (Jazz 2 VCR style)
  • Voting over chat
  • Remote administration
  • Bad word chat filter
  • Random chat messages (advertisments that appear every once a while)
  • Auto-kick idle players (warn them over chat before they get kicked)
  • Kick/ban chat spammers (warn them over chat before they get kicked)
  • kick/ban flooders (players that constantly join/leave/join/leave...)
  • Selection of levels in a random order
  • Selection of levels in a given order
  • Selection of levels by size according to the number of active players
And some misc features that may be applied to the dedicated server.
  • Temporary bans that time out after 15 minutes
  • Automatically relist the server, if delisted
  • Players *MUST* enter a password to join a private server
  • Server query packets (it's a standard jj2 join packet with 00 as the last byte)
  • Proper team chat in CTF
__________________
<a href="http://nmap.org/"><img border="0" alt="Nmap Security Scanner" src="http://images.insecure.org/nmap/images/prop/nmap_bnr_matrix_pfos.gif"/></a>

Last edited by Cpp; Aug 24, 2006 at 10:42 AM. Reason: seperated plugins from misc stuff
Grytolle Grytolle's Avatar

JCF Member

Joined: Sep 2004

Posts: 4,126

Grytolle is a forum legendGrytolle is a forum legendGrytolle is a forum legend

Aug 24, 2006, 10:24 AM
Grytolle is offline
Reply With Quote
All sounds very good.
__________________
<center></center>
R3ptile

Banned

Joined: Aug 2003

Posts: 3,885

R3ptile is doing well so far

Aug 24, 2006, 10:45 AM
R3ptile is offline
Reply With Quote
what about in-game commands such as !rank, !stats !votemute, !votekick and !votelevel?
Cpp Cpp's Avatar

JCF Member

Joined: Mar 2001

Posts: 1,557

Cpp is doing well so far

Aug 24, 2006, 10:55 AM
Cpp is offline
Reply With Quote
^^ I guess those would go under a plugin that can take commands from jj2 chat. Assuming Voting is only a part of the plugin, this would be it.
__________________
<a href="http://nmap.org/"><img border="0" alt="Nmap Security Scanner" src="http://images.insecure.org/nmap/images/prop/nmap_bnr_matrix_pfos.gif"/></a>
Jerrythabest Jerrythabest's Avatar

JCF Member

Joined: Apr 2005

Posts: 2,602

Jerrythabest is a forum legendJerrythabest is a forum legendJerrythabest is a forum legend

Aug 24, 2006, 11:59 AM
Jerrythabest is offline
Reply With Quote
About that logger, it would be *really* useful if you assign a type to each log line so you can choose what to view and what to hide (like joins, parts, roasts, scores, kicks, bans, chat messages, level load, tileset load, traffic, types added by plugins), to make logs without useless stuff you don't want in your log
__________________
Cpp Cpp's Avatar

JCF Member

Joined: Mar 2001

Posts: 1,557

Cpp is doing well so far

Aug 24, 2006, 12:53 PM
Cpp is offline
Reply With Quote
In my opinion chat lines *should* contain a timestamp at the beginning as well as some other tag that differs them from other types. The program can log everything and you can later filter out the lines you want yourself or tell the program to save the log and filter out the lines you (don't) want. In J2M I used a similar format for the logger.

Quote:
==================================================
Jazz 2 Mutation Build 132
Logging started on 7.2.2006 at 21:32:16.
==================================================
LOG[21:32:16]: Loading Jazz 2 Mutation
LOG[21:32:16]: Opening log window
LOG[21:32:16]: Detected Windows XP Professional Service Pack 2
LOG[21:32:16]: Initializing program engine
LOG[21:32:16]: System path is D:\Visual Basic\JJ2\Mutation\Mutation.exe
LOG[21:32:16]: Log path is D:\Visual Basic\JJ2\Mutation\Logs\J2M_2006-2-7_21-32-16.log
LOG[21:32:16]: Loading and applying program settings
LOG[21:32:16]: Loading program windows
LOG[21:32:17]: Jazz 2 Mutation is up and running
USR[21:32:20]: Manually enabled
LOG[21:32:20]: Enabling Jazz 2 Mutation
LOG[21:32:20]: Found Jazz Jackrabbit 2 v1.23
GAM[21:32:20]: Level Mixer adjusted next level (igs_023.j2l)
GAM[21:33:05]: Level Mixer adjusted next level (igs_044.j2l)

(...)

GAM[9:21:13]: Time limit reached (15 min)
GAM[9:21:18]: Level Mixer adjusted next level (igs_002.j2l)
LOG[9:31:25]: Waiting for Jazz Jackrabbit 2...
USR[9:31:27]: Exiting program
LOG[9:31:27]: Jazz 2 Mutation stopped after 689880 loops
LOG[9:31:27]: Program is now unloading
LOG[9:31:27]: Saving program settings
LOG[9:31:27]: Unloading program windows
LOG[9:31:27]: Shutting down engine
==================================================
Logging stopped on 8.2.2006 at 9:31:27.
==================================================
__________________
<a href="http://nmap.org/"><img border="0" alt="Nmap Security Scanner" src="http://images.insecure.org/nmap/images/prop/nmap_bnr_matrix_pfos.gif"/></a>
Jerrythabest Jerrythabest's Avatar

JCF Member

Joined: Apr 2005

Posts: 2,602

Jerrythabest is a forum legendJerrythabest is a forum legendJerrythabest is a forum legend

Aug 24, 2006, 01:18 PM
Jerrythabest is offline
Reply With Quote
yeah timestamps rule! they.. well, tell you the time it happened, eh?
__________________
Monolith

JCF Member

Joined: Mar 2001

Posts: 2,221

Monolith is doing well so far

Aug 24, 2006, 09:42 PM
Monolith is offline
Reply With Quote
A note on letting 1.23 and 1.24 players join: if this feature is included, it it really should translate the animation frames so animations don't appear messed up.

I was thinking the dedicated server would be basically command prompt based. Although I suppose we could make it so that a GUI could be built on top of it.

I can't remember what my other thoughts were now. I could come up with a more complete class listing if you don't think it's too early for that.

Figuring out bullet trajectories will probably be the trickiest to recreate. I'm assuming we'll need these to figure out when someone gets hit since the server should manage that. (Although JJ2 has been known for having not the greatest net code.)
__________________
<div style="float: right; width: 100px; height: 70px; margin: 5px 15px;"><img src="http://madskills.org/monolith/idleserver.gif" style="width: 98px; height: 65px;"><img src="http://madskills.org/monolith/theserver.gif" style="width: 98px; height: 65px; position: relative; top: -65px;"></div><div style="margin: 0 3em; font-size: 80%; font-style: italic;">Love is patient, love is kind. It does not envy, it does not boast, it is not proud. It is not rude, it is not self-seeking, it is not easily angered, it keeps no record of wrongs. Love does not delight in evil but rejoices with the truth. It always protects, always trusts, always hopes, always perseveres.</div><div style="text-align: right; text-size: 80%;">1 Corinthians 13:4-7</div>
Cpp Cpp's Avatar

JCF Member

Joined: Mar 2001

Posts: 1,557

Cpp is doing well so far

Aug 24, 2006, 11:56 PM
Cpp is offline
Reply With Quote
Each time a player joins a jj2 server, it tells the server what version he uses so that the server may accept or decline him. Adapting the anims should be no problem in this case. I suppose we could even make Lori look like Spaz for 1.23 players.

I'm uncertain about the GUI part at the moment. It probably should be another plugin. I like the idea about plugins because we wouldn't have to replace the server executable each time an update is made as we can simply update the plugin instead.

I wonder whether Neobeo can read the trajectories from the jj2 assembly. Most of weapons shoot in a straight line, speed is calculated relative to player speed. However weapons such as bouncy/water shield/seek may be a problem.
__________________
<a href="http://nmap.org/"><img border="0" alt="Nmap Security Scanner" src="http://images.insecure.org/nmap/images/prop/nmap_bnr_matrix_pfos.gif"/></a>
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump

All times are GMT -8. The time now is 02:57 AM.