Linux Server Action!

posted in Septopus for project Unsettled World
Published November 04, 2018
Advertisement

Here's a look at the first server executing from the Linux environment.  I chose to move the Action Server over first because it's still pretty small code-wise and didn't have any file system code that would need touched.  Was going for an easy win.  It worked. ;)

linux_action_sm.thumb.gif.b95b9d8b6f71beb3d52c48a52d385324.gif

Here you can see another "ghost" test, but this time you can see a little of what's going on at the server end.  The + symbols represent the receipt of a data packet from the player(pos info), the - symbols represent an outbound packet being generated.  You can also see the incoming pub/sub messages from the Redis server(actually they are "from" the Avatar Server via Redis).  One that keeps all the server times synchronized, and one that keeps the player encryption keys synchronized.  Additionally, you can see the over-active udp service checks it's performing on itself from another thread, and a little of the clock synchronization output too...

2 more, much more code heavy servers to go, and 3 others that wont take more than 15 min each. ;) 

It's going to take me some time to get used to Visual Studio Code(Linux Visual Studio version) when working on these servers, but the new operating system has already forced me to fix some smelly code shortcuts that I more or less forgot I should fix.  I think things are going to be just fine.

2 likes 0 comments

Comments

masskonfuzion

This project looks interesting. But um, what is it? (Forgive me if you've laid it out in earlier posts and I just missed it).

I'm a Linux head myself; I use redis daily at my job, but not for anything game related. I'm interested/curious in how you're using redis (seems like you have pub/sub messaging? At work, we actually used to use redis for messaging, but switched to using the MQTT messaging protocol, which is also commonly used with embedded systems/IoT devices)

November 04, 2018 05:46 AM
Septopus

The project is a game, well and a set of servers for the game. ;)  It will be an MMO of some type, not 100% sure on how to categorize it actually.  haha. 

I'm building a collection of servers that are functionally segmented to run the game's back-end.  Redis is basically filling the central DataBase role of my server architecture, as well as being a really snappy messenger.  Currently it's just buffering some data and passing some messages between servers though.  Eventually it will be a very high speed pool of data which I can use to make game-play decision and give the AI something to talk about. MQTT, sounds pretty interesting as well, I'll have to give it a better glance later on.

November 04, 2018 06:06 AM
masskonfuzion

Sounds cool!

November 07, 2018 03:45 AM
Septopus

Thanks! I've updated the main project page to have some more current info as well. ;)

November 07, 2018 04:07 AM
Polydone

What are we seeing? Are you running the Unity editor on the servers too? Or are the editor windows on the client?

November 07, 2018 10:40 AM
Rutin

Mr Wizard! :) 

November 07, 2018 05:10 PM
Septopus

@Polydone This is a screen cap of a Putty(ssh client) window with the "game window" from Unity in free aspect and windowed mode just sitting on top of the putty window so I could squeeze them all into the screencap frame without it taking up too much space. ;)  This is all happening on my client.  (the server is a VM on the client too, atm).  I haven't been brave enough to try installing Unity's Linux editor..  But I have been following the buzz about it(I periodically check the bug reports and see if they are the kind I'm willing to try finding myself, I don't think it's quite there yet).. ;)

@Rutin  LOL!  When it comes to operating systems I can do a few magic tricks.  Wait until I get into building the load-balancers that will front-end my server clusters, that's where the server tricks really start happening. ;)

 

November 07, 2018 05:48 PM
Septopus

* I use multiple monitors, so that's why the Unity Editor isn't trying to steal all the camera time here, since it just forces itself to the foreground no matter what you tell it. ;)

November 07, 2018 06:01 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement