With Soldat 1.5.0 released, there has been a rather large influx of bug reports; all sorts of things that were never mentioned once during the year-long Public Beta. I am working diligently to get most of them fixed for Soldat 1.5.1.
I am quite disappointed with the public beta and the communities participation, all these immediately obvious bugs (F1 name list for example) should have been reported before release. I doubt there will be another public beta. I have fixed a fair amount so far, but only the ones that I am able to reproduce or have been given sufficient information regarding it.
Soon, I will be asking for direct assistance from people suffering from the Black Screen on join game bug, and any other hardware-specific bugs that I can’t reproduce.
I do apologize for all new bugs that have appeared in this release, but please keep in mind this is my first client release since becoming the sole Developer of Soldat. The source code is messier than a college frat house on a Sunday morning; as most people know. In fact, look at this code for the /adminlog command:
if (uppercase(cs[2]) = ‘A’) and (uppercase(cs[3]) = ‘D’) and (uppercase(cs[4]) = ‘M’) and (uppercase(cs[5]) = ‘I’) and (uppercase(cs[6]) = ‘N’) and (uppercase(cs[7]) = ‘L’) and (uppercase(cs[8]) = ‘O’) and (uppercase(cs[9]) = ‘G’) then…. instead of
if uppercase(copy(cs, 2, 9)) = ‘ADMINLOG ‘ thenAnywho; all of the server/scripting bugs that are known have been fixed, so I will most likely release a new dedicated server soon. Just waiting to see if there are any more reports going to come in.
I am also working on a new query protocol for soldatserver<->client communication, primary purpose is going to be for auto-joining full servers once a spot becomes free. I was thinking of either doing a “queue” or a “first person in” style approach for it… The latter would be easiest and least time consuming. The query information packet is going to have different “detail levels”, example: 1 = current players+maxplayers. 2 = level1+short player list(Name+Team+Ingame Time), 3 = level1+level2+current map+bot count+score limit+game mode; so on so forth. Reason for having multiple detail levels is to save server bandwidth when only needing specific details in the packets. I am currently testing this query protocol on my rental customers servers, so far it works great. Hope to see it in action for Soldat 1.5.2, maybe earlier.
I won’t be giving any information regarding Soldat 1.5.1, other than it will be purely a Bug Fixing version. There *might* be one or two new features, however they won’t be major.
Also check out the new poll; the results might greatly hinder the future eh eh.
What should the focus of 1.5.2 be?
- Fixing bugs only (38%, 185 Votes)
- Fixing bugs, and some new features (37%, 184 Votes)
- New features, and some bugs (15%, 75 Votes)
- New features only (10%, 48 Votes)
Total Voters: 492
Well, that’s all the updates I can think of right now… Couldn’t think of a decent YouTube video I recently saw, so here’s just one I posted on YT back in 2006 for no apparent reason.


“I am quite disappointed with the public beta and the communities participation, all these immediately obvious bugs (F1 name list for example) should have been reported before release.”
Yes thats true, but it seems like the beta tester did not a good job either. (And I found most of the bugs in the first days) Another questin will the demos I took in 1.5 viewable in 1.5.1?
I hate those whiners that whines about bugs…I think that it’s normal to get new bugs every time you do something new. So MM shouldn’t stress at all but take his time for the next version so its better.
“Logically you would search for traces of the word ‘adminlog’ but of course, you won’t find it with that first code paste.”
MM didn’t write any comments/notes?
like
(* admin command *) (Component Pascal)
or
{ admin command } (Delphi)
or maybe
// adminlog (Delphi)
Nope, there are no relevant comments at all in the code. There are some one-word comments, but they are in polish.
Need to say i didn’t test any public beta’s myself because i kinda lost my interest. I thought the community itself would be big enough to figure out all the bugs. Too bad this was not the case. I personally think that soldat just needs a few motivated beta testers. I am not sure if your having any irc channel for that or something but most beta testers don’t seem that helpful / active in my opinion. I could be wrong. I still think it was the best update soldat had, tho forceweapon broke which is pretty nasty for a lot of people.
I really like the idea of the queue list. Always been hating it when you can’t get in your favorite servers ;)
Good luck fixing the spaghetti! I am
a cook if you need tips!
I’m not a programmer (yet), and I dunno much about IDE capabilities. Wouldn’t there be a way in which, when you found a messy bit that was causing trouble – you could hi-light it and within the IDE make a reference marker. Then years later, when you need to find something again – just look through the markers. I dunno. My friend is trying to teach me programming, and already only on a few hundred lines of code – it’s so easy to forget and miss a crucial mistake. Too bad that Soldat’s code is so messy.
Also, just wanted to say, don’t apologize for any bugs. The whole community had numerous chances to send in bug reports a lot earlier. There was what? 3 1.5 public beta releases (b,c,d). I say, take your time with it. So many were waiting and whining for 1.5 to come out. Then when the betas came out, hardly anyone was testing it out.
Good Job on 1.5 so far anyway. I’m lovin it.
Speed isn’t everything, especially for something used as (relatively) rarely as checking a command.
Don’t get tied up in examples. The point was not optimization, it was the fact of how unreadable the code is. As I said, spaghetti. When code is written like that, how do you expect to find those lines again a couple of years later when its mixed up in thousands of lines of code. Or expect someone who didn’t create the original code to find such things. Logically you would search for traces of the word ‘adminlog’ but of course, you won’t find it with that first code paste.
It may look ugly but actually the first ugly code is close to 2 times faster if the word is wrong. I wrote an test app and which showed me the results. However the first ugly code needs more space because it of the many calls and reads ;). Only if the text is similar like it’s ‘ ADMINLO’ then your less ugly sourcecode is faster.