News:

FOR INFORMATION ON DONATIONS, AND HOW TO OBTAIN ACCESS TO THE GAME, PLEASE VIEW THE FOLLOWING TOPIC: http://stick-online.com/boards/index.php?topic=2.0

Main Menu

Minecraft

Started by tehrozzy, September 10, 2010, 08:06:31 PM

Previous topic - Next topic

Chaos

I'm gonna talk to Scott about just restoring a backup to about 4 or 5 hours ago.
Jake says:
lol, I found God! He was hiding under a big rock this entire time that lil jokster

Titan

So some backround info, my brother is 10, and therfore is stupid.
I have changed my log in info, and basicly told him never to touch minecraft again.(Shouldn't be a problem, he doesn't have his own account)

I'm pretty pissed that his actions are reflect negativly on me, because he didn't think before deciding to mess with stuff he knows nothing about.


Once again, I would like to say sorry for my brother's behavior.

Livin' in a lonely world.

Trogdor

#1007
To prevent a backup, as I've done a lot of work I really don't want to lose, I'm 100% willing to fully reimburse anyone and everyone's valuables that were stolen during this. And yes, I trust you to not falsify that information. Shoot me a PM about what and approximately how much was stolen from you, and I'll add it to one of your chests in your house. All I know is that Mystery had about 300 wool stolen from him, and I'm working on re-acquiring that amount as we speak. Thankfully, it seems he only stole things such as diamond, redstone, and gold, and didn't bother too much with anything else (except for the wool, but he stole it just to be a douche, knowing Mystery needed it), which really narrows down what could be missing.

Please, please don't feel bad about asking me for anything you may be missing. I'd much rather pay a few blocks of diamond than lose about 7 hours of work today, which is more than a fair trade in my situation.
If you give a man a fire, he'll be warm for a day.
If you light a man on fire, he'll be warm for the rest of his life.

sayers6

#1008
what all is disabled on this server so i can stop building stuff that doesn't work. never mind, but why doesn't tnt work?

thekolla

Please help mystery get the wool back if he doesn't have it back already. i worked all day killing sheep to get that to sell to him so that it would help on his hotel.
if he didn't get it back i will start gathering, and give it to him free of charge Ofcourse.

Thanks

RayRay


igufed

Recent lag issues with my server should be fixed.  I'm putting the blame on my ISP.. They've been iffy the past week or so.


Gettra - In development  ExcessPoker - Released v1.0

Scotty



Sorry folks, had a real rough Monday, Newarc is gone, time to move on to new land!!

ARTgames

Look who's house lives on.

Steakboy132

well that killed the server....
I am Steakboy132 on the forums
I am Source on Stick Online
I am ___Dylan on Minecraft

Scotty

I've reverted a backup as expected, everything is back to what it was at approx ~9:30 EST.

No one has yet to find the black market so far as I can tell.  So I will give you a bit further of a hint:
You'll want to come armed and ready to fight if you want to find it, day or night.  That doesn't mean that I have monster spawns planted, but regardless, if you expect to find it in the deepest, darkest corner of the map, you'll want weapons and armor.  Who knows what you might encounter along the way!

sayers6




Ah, finally finished...mostly

RayRay

Quote from: sayers6 on March 15, 2011, 11:58:14 AM

Love that lava stream at the left that hardened. Very realistic, and well done!

sayers6

Thank you, also Mr. E I accidentally bought all your key cards....

Scotty

I've been contemplating developing a web app for basic minecraft stats, chat logs, etc... And one thing was apparent, something as simple as determining who is currently online was a bit of a stretch.  I didn't care to try and search for a bukkit plugin, when I was determined to figure it out myself.  I figure I'd share my findings with everyone in case those who host a linux server (or may in the future) wish to benefit from my findings.

It's incredibly simple.  In dumbed down terms, on Linux, using the netstat tool, you can determine the IP addresses and ports of all computers who are currently connecting to your computer.  The command may resemble the following:

netstat -unt

And of course, with any Linux command, it is overly verbose from what we care to have.  For example, here is my returned results:

tcp        0      0 192.168.1.122:56157     192.168.1.127:445       ESTABLISHED
tcp        0      0 127.0.0.1:3306          127.0.0.1:37153         TIME_WAIT 
tcp       38      0 192.168.1.122:58751     204.236.220.13:443      CLOSE_WAIT
tcp        0      0 127.0.0.1:3306          127.0.0.1:37154         TIME_WAIT 
tcp        0      0 192.168.1.122:22        192.168.1.127:33526     ESTABLISHED
tcp        0      0 127.0.0.1:3306          127.0.0.1:37160         TIME_WAIT 
tcp       38      0 192.168.1.122:45669     208.43.202.52:443       CLOSE_WAIT
tcp        0      0 192.168.1.122:46284     174.36.30.6:80          ESTABLISHED
tcp        0      0 192.168.1.122:22        192.168.1.127:49435     ESTABLISHED
tcp        0      0 127.0.0.1:3306          127.0.0.1:37159         TIME_WAIT 
tcp       38      0 192.168.1.122:46558     174.129.27.81:443       CLOSE_WAIT
tcp       38      0 192.168.1.122:45668     208.43.202.52:443       CLOSE_WAIT
tcp        0      0 192.168.1.122:17500     192.168.1.127:57542     ESTABLISHED
tcp6       0    730 192.168.1.122:25565     76.241.71.126:53608     ESTABLISHED
tcp6       0      0 192.168.1.122:25565     70.246.61.95:50684      ESTABLISHED
tcp6       0      0 127.0.0.1:37155         127.0.0.1:3306          TIME_WAIT 
tcp6       0      0 127.0.0.1:37158         127.0.0.1:3306          TIME_WAIT 
tcp6       0      0 127.0.0.1:37156         127.0.0.1:3306          TIME_WAIT 
tcp6       0    201 192.168.1.122:25565     99.31.196.177:53846     ESTABLISHED
tcp6       0    578 192.168.1.122:25565     76.122.32.214:50754     ESTABLISHED
tcp6       0      0 127.0.0.1:37157         127.0.0.1:3306          TIME_WAIT 


Well a few things are apparent just by looking at this list, as well as understanding a few things about minecraft.  Minecraft natively requires use of port 25565.  We see two sets of IP addresses, one in column 4, another in column 5.  I'm looking for the 25565 in the port numbers (anything in the IP address past the ":").  This cuts us down to column 4.  So we further refine the list by grep'ing for the port:

netstat -unt | grep 25565

This cuts me down to:

tcp6      19    264 192.168.1.122:25565     76.241.71.126:53608     ESTABLISHED
tcp6      67   1375 192.168.1.122:25565     70.246.61.95:50684      ESTABLISHED
tcp6       0  24208 192.168.1.122:25565     99.31.196.177:53879     ESTABLISHED
tcp6       0      0 192.168.1.122:25565     99.31.196.177:53846     TIME_WAIT 
tcp6       0   1745 192.168.1.122:25565     76.122.32.214:50754     ESTABLISHED


Looks like we have 4 rows, which means 4 connected users, all connecting to 192.168.1.122:25565 which just so happens to be in the internal IP address of my server on my LAN, with the default minecraft port.  The fifth column includes the IP addresses of those who are connecting to my server.  So now it's time to weed out all the erroneous extra stuff we don't need and just get that 5th column's values:

netstat -unt | grep 25565 | awk '{print $5}'

As expected, the results:

76.241.71.126:53608
70.246.61.95:50684
99.31.196.177:53879
76.122.32.214:50754


So now we have a new-line delimited string of IP addresses of connected clients.  So how do we turn IP addresses into usernames?  Well the really cool part about this is that Minecraft generates a log file of all things that occur on the server.  The list provided above is real time, as in it is the current IP addresses of the connected clients.  As opposed to going the route of maintaining a database with usernames, and update them as their dynamic IPs update, I figure I'd knock it all out at once.  Convenient for Minecraft System Administrators, the system log will log every time a user logs in and their current IP address that they are logging in with.  That IP address in that log file will match one of the above returned IP addresses.  So in other words, I need to generate a loop that iterates through each of the above returned results, and grep the log file for that specific IP (and port) to determine who is connected, and then I can use awk to pull the username.  The loop and everything that I use in the script looks similar to:

#!/bin/bash

IPS=`netstat -unt | grep 25565 | awk '{print $5}'`
LOG="/path/to/server.log"
RESULT="/path/to/file/to/store/returned/users"

> $RESULT
for VAR in $IPS
do
  grep $VAR $LOG | tail -1 | awk '{print $4}' >> $RESULT
done;


Essentially what I'm accomplishing above is establing the IP addresses of connected clients ($IPS), and establishing the location of the server.log file ($LOG), and where to return the results of the online users ($RESULT).  I clear the $RESULT file, then iterate through each line of what is returned by $IPS.  For each returned result, I grep the $LOG file, limiting it to the last returned result, and pulling the username (which is the 4th column), then appending it to the $RESULT file.

Simple eh?