Darwinbots Forum
General => Off Topic => RANT => Topic started by: PhiNotPi on February 10, 2014, 09:01:52 PM
-
I have been using Darwinbots for several years, probably all the way back to 2010. In all that time, I have never seen a single robot teleported into my sim from the internet. Maybe I've gotten unlucky, only running sims when IM was down. Maybe I've never managed to configure my settings properly. I'm relatively certain, however, that IM is simply broken.
As far as I can tell, there is no evidence that Internet Mode even exists! For all I know, it might all be a conspiracy or scam!
The internet teleporter always sucks up my good robots, but never gives me anything in return. They are simply deleted, or otherwise cast into the empty void that is the internet. It's like a black hole, more than once has my "king robot" fallen through the event horizon.
I really hope that we can find a fix for IM, hopefully sometime soon.
-
Breaking news: NO ONE CARES!
I have tried to get other people to care, my php is not that strong and I am working on other things.
It seems like anyone who attempts to help with IM magically vanishes :wacko:
First it was Ammeh, now Peter.
-
As far as I can tell, there is no evidence that Internet Mode even exists! For all I know, it might all be a conspiracy or scam!
:rant: I agree, Prove me wrong people! Prove me wrong!
-
WHY, CRUEL WORLD WHY? IM seems like fun...
I can't help- I only know C++ (barely) and HTML :dry:
-
Where can I find the existing PHP code?
edit: I thought I asked this before at some point. :P
-
I don't think the PHP code ever got far enough to work :/
-
Button line is, we just need to get to the code so we can fix it, no matter what state it is in. Thx.
-
I don't think the PHP code ever got far enough to work :/
I think Numsgil was considering a reply to my PM about how to get to the pHp code anyway. :/ I hope he replys by Friday.
Obviously we are going in circles here, what are we supposed to do if pHp does not work? I even considered getting free pHp Hosting in my PM to Numsgil if we he does not want us messing on his server, no reply. Any other ideas? I am open to heir them. We are going no where fast with this thing.
Will asp.net be a cleaner solution then pHp?
-
Sorry, I am pretty much spamming by this point but:
If IM does not work, why is it so clearly defined on the wiki? It clearly says that Shasta has a working version, what does that mean? Does it even work? (http://wiki.darwinbots.com/w/Internet_Mode_Fix)
I would really, really like answers to all the questions presented here. I was supposed to help Testlund today but I was too obsessed to getting to the bottom of this to care.
-
I even tryed the GUIM system, it clearly says: "The remote server returned an error: (404) Not Found."
Also, it does not even recognize the Darwin2.46.02BetaH unless I rename it to "Darwin2.45.01" what kind of crap is that?
-
Will asp.net be a cleaner solution then pHp?
I think(?) the current server is linux based. So no asp.net, I also don't think asp.net is a good solution for this.
Sorry bots, I didn't put any time in it so far. Combination of wait and see and being lazy. Maybe after valentine I'll play a bit around with some code(no promises though). How hard can it be! :closedeyes:
-
I messaged Shasta. There's also some work to be done on the server before I can open it up to be played with. Need to sandbox an area for this to limit the damage when things go badly. That shouldn't stop anyone from installing Apache or IIS on their machine locally and developing, which is what I'd recommend doing anyway before it hits the actual server.
The server does (or did at one point) have mono installed, so asp.net could work as well as anything else.
At least some of the work Shasta did involved hacking the Darwinbots EXE to peek at memory values at certain hex offsets and fun things like that. It required manually finding the offsets for each version, which was a fair bit of work. That's probably why it's trying to find specific versions of executables.
-
Thanks guys, I was beginning to feel like an ass for spamming :happy:
I recommend everyone to see the new Robocop movie to get your rage and frustration out if so.
-
At least some of the work Shasta did involved hacking the Darwinbots EXE to peek at memory values at certain hex offsets and fun things like that. It required manually finding the offsets for each version, which was a fair bit of work.
Ok, so my guess is we are waiting for Botsareus to complete all changes before proceeding...
-
You know what? That sounds like a complete pain in the ass. I will be making another mod after IM (that is if) IM is implemented. I think we need just a simple IM without all the assembly stuff. Agree?
-
I thought you had a professional webdeveloper on that. What's the story with that?
I got an (extremely) simple system here. Every 100 seconds it'll check the outbound folder, send those bots to my computer, then my computer will send bots back which it'll place in the inbound folder of your computer. If you feel adventurous, you can try this.
Start DB2, startup IM put all of this in darwinbots2/IM/ folder, and run it.
-
Thanks! I'm actually running it right now... I think it's working, because bots are being teleported back and forth, but no appears that I am the only person currently running it. I'll leave it running, in hopes that someone else starts a sim.
-
Seem to be some issues with finding files, or at least on my end. Did properly at first then stopped doing that. I guess time to debug it.
Did you have to setup any firewall settings to get a connection or did it work out of the box?
Took the program down(noone requesting bots atm anyway), I'll put it back online when I figure out what's hampering transmissions.
-
I thought you had a professional webdeveloper on that. What's the story with that?
No, I did not. All I got is a crappy IT certificate and 12 years experience writing in vb6. Thanks for your help Peter.
Did I configure my folder correctly???
-
Seem to be some issues with finding files, or at least on my end.
Are these issues related to vb6 by any chance?
I think we can make another program that runs client.exe and does file move to the IM's inbound/outbound folders, what do you think? That way I take care of the command line crap and keep vb6 happy.
It only has to work though, right now I am getting a 404 from what I can tell. I am pretty sure I have no firewall, although I am running from a wifi.
Please let us know when the program is back up! :happy:
Sorry for the confusion, I have edited this posts at least three times, I feel like a kid with a new toy.
-
Did I configure my folder correctly???
Yep
Are these issues related to vb6 by any chance?
Nope, it's all my fault.
Please let us know when the program is back up!
Well, it's back now. No guarantee on if it works properly. Bit tired now, but odds are I'll check on it in a few hours and see if I can get it fixed.
-
I'm running the same thing Phi is- hopefully something will pop up.... Local IM works so far.
-
Few issues.
1. I managed to delete the next instead of the current file :P
Send organism 1
Receive some organism from server
Delete organism 2
Send organism 2, wait that doesn't exist. Exception!
Because organism 1 stays there, it's keeps sending organism 1 at every connection and kills every next bot.
2. Miscommunication in filesize, bots are capped at 10kb. Curious DB2 doesn't crash with the malformed bots.
Attached new version
-
I received some bots from the internet! Yes!
Edit: I just had a huge multibot teleport in, and Darwinbots crashed. An Error Occurred. Darwinbots cannot continue. Sorry. Subscript out of range DarwinBots 9 0.
I don't know if this is related to your program, or if it is a bug with DB which is being revealed now that IM actually works.
-
I just ran the new client.exe - nothing coming in so far....
-
You'll need to be careful to make sure that DB is done writing to a file before you send it to the internet. Likewise, you'll want to make sure DB can't see a file until you're done writing it from the internet. The second one is the hardest. Maybe if DB refused to read a file until/unless the readonly flag was set?
-
Something seems to be happening- I am getting evolved NNbots from myself (username Dumpling). I hadn't ran such a sim in 3 months
-
I've also gotten a lot of stuff from myself, mostly things from internet sims I ran earlier today. Earlier today, I put a virus into the wild. After starting a new, virus-free sim, I received the virus again from the internet.
If it is from 3 months ago, then I suppose that what happened was that the robot was sent into the outbound folder a few months ago, and it remained there since there was no internet connection. Now that there is a connection, all of your unsent robots are being released into the internet.
-
Oh shoot. I hoped that IM actually was working... :O
-
I actually have received some stuff from Peter (the bots gave his simulation as the source).
-
You'll need to be careful to make sure that DB is done writing to a file before you send it to the internet. Likewise, you'll want to make sure DB can't see a file until you're done writing it from the internet. The second one is the hardest. Maybe if DB refused to read a file until/unless the readonly flag was set?
Second one seems to be the case. Does db check on .dbo files? I could give a different extension and change that at the end.
ps: server now offline
-
A different extension would probably work.
-
Some ideas:
1.)
You'll need to be careful to make sure that DB is done writing to a file before you send it to the internet. Likewise, you'll want to make sure DB can't see a file until you're done writing it from the internet. The second one is the hardest. Maybe if DB refused to read a file until/unless the readonly flag was set?
Second one seems to be the case. Does db check on .dbo files? I could give a different extension and change that at the end.
I think we need another feature that moves the files from Peters (inbound, outbound) folders to internet modes (in, out) folders (set by DB in the settings, user choice)
This way:
A.) It should be as good as changing the file extension (which is brilliant idea nonetheless)
B.) People who use Internet mode by actually clicking the Internet mode button will be happy.
2.)
I can tell vb6 to ignore a dbo file that is very large, that should prevent weird organisms.
Does a file get deleted server side after it is transferred? I do not want his kind of files sticking around to prevent transferring them more the one time.
3.)
I think we need to setup a testing schedule. I am in US eastern time. Also, I would love to see the source code for this thing. Both server side, and client side. Maybe I can learn something.
-
(Local IM mode before I fixed it)
-
---------------------------
DarwinBots
---------------------------
Non dbo file AbsoluteZero (3G)(viplex)-07.25.05.txtfound in C:\Users\Owner\Desktop\51 robots - Copy. Inbound Teleporter Deleted.
---------------------------
OK
---------------------------
Sorry, currently not configured to work :/
I am going to go ahead and mod my local IM code. Done.
Peter, please use the following exe when debugging with db2 from now on (if you choose to do so)
Are we cool?
-
Curious DB2 doesn't crash with the malformed bots.
An Error Occurred. Darwinbots cannot continue. Sorry. Subscript out of range DarwinBots 9 0.
DB is supposed to abort loading an organism if the file is corrupt.
2. Miscommunication in filesize, bots are capped at 10kb. Curious DB2 doesn't crash with the malformed bots.
The error is more interesting, I have no idea yet what is the cause. But I will run DB from source code with IM and try to track it down. The only thing we can fix for now is check for a file size.
Peter, it will be even better if you actually put the file size cap back on your side. But instead of attempting to transfer half a file, ignore and delete the file completely.
How big the size limit should be is still up for debate.
-
Some ideas:
1.)
I think we need another feature that moves the files from Peters (inbound, outbound) folders to internet modes (in, out) folders (set by DB in the settings, user choice)
Not sure if I get this. (inbound/outbound are the default IM folders in DB2, are they?)
Dubbing IM, PeterIM to avoid confusion.
A: DB2 IM user setting location
B: DB2 PeterIM client location
C: Server
A<-><-B-><->C
Is the role of that new DarwinbotsIM to move files between A to B?
With user config you need a second place to store bots, while keeping this location. The point of user config would be to not have any bots at that location, or am I mistaken?
If you need user configuration of folders, I guess it's necessarily to startup PeterIM with parameters or use named pipes to communicate.
This way:
A.) It should be as good as changing the file extension (which is brilliant idea nonetheless)
B.) People who use Internet mode by actually clicking the Internet mode button will be happy.
I start IM by clicking the internet button. Then I exit the IM application that pop ups.
2.)
I can tell vb6 to ignore a dbo file that is very large, that should prevent weird organisms.
Does a file get deleted server side after it is transferred? I do not want his kind of files sticking around to prevent transferring them more the one time.
Actually the current server doesn't delete it, mostly for debugging purposes. Current server is filled with 1372 organisms. After a restart the numbering starts again, first ten bots are from a earlier run then it overwrites anything that's on the server. Unless it restarts it won't send old bots, though. And then only ten old ones at the start.
3.)
I think we need to setup a testing schedule. I am in US eastern time. Also, I would love to see the source code for this thing. Both server side, and client side. Maybe I can learn something.
When it works I'll hand it to you. When you see it, you'll think that's quite simple.
What does the new DarwinbotsIM.exe do?
10kb isn't a weird filesize for organisms, is it?
Edit: client now with different extension when writing.
-
I start IM by clicking the internet button. Then I exit the IM application that pop ups.
What does the new DarwinbotsIM.exe do?
All IM ever did was simply move files around. Can be useful to trick vb6 to make sure it is not trying to access a file that is used by another process simply by letting vb6 see the file only after it is moved. Imo, should be the same as changing file type without making vb6 ignore files of specific type.
(inbound/outbound are the default IM folders in DB2, are they?)
The defaults are 'in' , 'out' I think. But the point is, a user can change them, then it is all screwed up. At-least current design.
10kb isn't a weird filesize for organisms, is it?
That is a hard question to answer. At what point is an organism too big? 100kb?
A<-><-B-><->C
Is the role of that new DarwinbotsIM to move files between A to B?
With user config you need a second place to store bots, while keeping this location. The point of user config would be to not have any bots at that location, or am I mistaken?
If you need user configuration of folders, I guess it's necessarily to startup PeterIM with parameters or use named pipes to communicate.
Yes correct, the simple way is to have it except command line that is already in place. The command line reads
''-in "C:\in" -out "C:\out" -name Newbie 5676 -pid 4404
I have no idea about python support of command line.
Also, if we use your approach instead of what I propose above. I'll have to go mod the IM teleporters to ignore a file type.
-
P.S. I guess in proper programming jargon "command line" means "parameters" :P
-
Certainly python supports arguments!
Oh shoot. I hoped that IM actually was working... :O
Gonna clarify on how the simple IM should work.
Server keeps a record of ten files. (more on disk, but these are ignored)
Client connects, for each file it sends it gets the oldest in the list back. It goes to a max of 10 send/received, then it disconnects.
When you connect you shouldn't get back files you send at the same connection. If no one connects before your next connection you'll receive the bots you send the time before.
If the server is empty(no clients)and you're the only client. First it gives you 10 bots from the last leaver, after that it just fills your inbound with your outbound.
-
I am making an educated guess that peter hates my idea.
Peter what extension did you use so I can instruct db to ignore it? I am also guessing that it changes to a normal extension when done.
Also, when I add this whole thing to the NSIS package drop, do I have to include all your files in teh zip? Will it work?
-
Certainly python supports arguments!
Awesome, I gave you the argument list, can you play with it?
-
What should I do with pid?
Edit:
DB2 does detect it when it's not a .dbo file, but gives a 'continues', (click ok it reappear) pop up that says it deletes it, but doesn't.
-
This is somewhat unrelated, but I think that IM should have some sort of Robot Cache. When I am the only person running the program, then it seems like my robots get simply teleported out and then immediately back in. Instead, it should keep a couple of the bots in a holding area. That way, when I leave and someone like MysticalDumpling comes online, there are a few of my bots which can be sent to his sim even if I am not online. Likewise, I could come online later and receive some of his bots.
-
This is somewhat unrelated, but I think that IM should have some sort of Robot Cache. When I am the only person running the program, then it seems like my robots get simply teleported out and then immediately back in. Instead, it should keep a couple of the bots in a holding area. That way, when I leave and someone like MysticalDumpling comes online, there are a few of my bots which can be sent to his sim even if I am not online. Likewise, I could come online later and receive some of his bots.
You're right. I'll add that, at the least block I'll block the ability to receive your own bots. That's just silly.
-
What should I do with pid?
Nada, the only two you need are the in/out
Fix for file ignore in 30 minutes, let me finish eating.
-
Peter, I have tested this, should work:
-
A different extension would probably work.
It does now. Also, there is a new bug fix for Testlund that will most likely apply to IM as well. Check out Bugs and fixes forum...
Also, I would like to have some kind testing schedule to test IM. I can help diagnose errors that are vb6 related.
-
Peter, you can use the third parameter if you like to prevent transferring robots back to yourself. However, that will make it uncompatible with the parameterless version. Therefor the use of teleporters will become completely unpractical. The way vb6 sends the parameters is it shells DarwinBotsIM.exe with them, you may consider moving and renaming your 'client.exe' to 'DarwinBotsIM.exe'
-
Minor detail, can you put quotes around the name, to get 'Newbie' and '5676' in the same argument.
''-in "C:\in" -out "C:\out" -name Newbie 5676 -pid 4404
to
''-in "C:\in" -out "C:\out" -name "Newbie 5676" -pid 4404
-
Server is up, new client added. Which can work in the old spot and as a replacement of DarwinBotsIM, in which case it used the DB internet name as a identifier for the server.
As for testing schedule, I'll put this online till I find some serious issues with how it works.
-
So it is up then? I'll start playing with it by Tuesday.
Peter, your name is going on the credits, thx for help.
-
It's still not as stable as it should. ;)
Rather easy to break the server if you know how it works~
Should quickly send around bots now, though.
-
If anyone tried to connect. The reason it failed was because the firewall blocked you. Port forwarding should now work properly...
-
I am on right now- the widow that opens up (MSDOS?) flashes with text and closes. Is this what is supposed to happen, or
-
If you run it from within Darwinbots, it may happen if you got a space in your username.
Simulation settings-> internet-> User name, pick a user name without spaces and it shouldn't crash.
-
OK. Now it stays open... Ill try to seem if anything comes in!
-
Peter- I got some of your bots!
-
It is working!
Btw, library is a required file :/ I wish we can partially include this zip, it is a big one.
For a while I was not getting anything, sending anything and it was saying "no robots on server" is that normal?
-
The most likely reason for not sending anything is that a client shut down a connection in the middle of a transaction. Server waits on a non existing client till it times out the server socket and it restarts.
No robots on server is quite common. It tries to put 25 bots in the inbound folder, as DB can more quickly import bots than export them it quickly loses any cache it got if there's more than one user.
-
Peter, what did you put in IM? The bots have 300+ mutations :wacko:
-
Oh, ic.
Thx Peter awesome job!
Now we have to figure out how to package this thing and move the server side to the darwinbots servers!
-
Peter, what did you put in IM? The bots have 300+ mutations :wacko:
Dumpling, I have experience with older IMs. You have no idea what kind of crazy shit you can get, trust me.
-
I am putting in some sea snakes and caterpillars, please let me know if you get the entire robot. I would like to test MBs at this point.
-
My sims got mostly multiply. And some Excalibur, blue on blue, martian tank 3 and alge minimalis.
Didn't get any sea snake or catapillar(or at least it didn't turn up in the graph)
Which bots is everyone else running?
-
Nothing yet, still debugging...
-
Blue on Blue and Tank are mine.
-
Also getting alga minimals v2 and alga Cloroplastus. And Cloroplastus is taking over a sim.
-
Mine too :D