• Advertisement
Sign in to follow this  

What's a quick way to get a database going for a .net text-based game?

This topic is 1327 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

i'm toying around with doing a text-based game in a GUI format using C#. I'd like to use data tables from a server.

 

I used SQLite with C in the past. It was okay. Since SQLite is meant to be read locally, I was able to download the database from the server and read it locally. As you can imagine, that can be a security issue when there's quite a few players downloading the latest database to the local machine. It was nice for my purpose before.

 

I'm wanting an easy way to keep the data tables on the server, and that I can read/write to it. I'm using Visual C# 2010 Professional (VS 2013 Express also available).

 

To start with, I just basically want a database file on my website, have a few tables with a few columns, access it with a password, and read/write using queries. What are some good options?

Share this post


Link to post
Share on other sites
Advertisement

I wouldn't do it that way at all, it'll be full of security holes if you're accessing the database directly from the client.

 

However, mysql (www.mysql.com) would be the immediate replacement for sqllite. There are other options, but mysql is a reasonable first step up from sqllite.

 

As I said, I wouldn't recommend doing it this way. Instead write a simple server application that performs the necessary database queries in response to messages from the client, so that people don't have direct access to the database.

 

n!

Edited by nfactorial

Share this post


Link to post
Share on other sites

I completely agree with nfactorial,

 

Write a set of simple services that interact with the database as needed on behalf of your client app.

 

For some quick service development perhaps take a look at ASP.NET WebAPI for the server side... Of course, then you have to secure those services, you may need to have a set of services to allow each player register a username and password and require this authentication before allowing any interaction with the services that talk to the database.

Edited by spazzarama

Share this post


Link to post
Share on other sites

You could use a third party BAAS solution such as parse or you could crete a REST API to interact with your server DB.

Share this post


Link to post
Share on other sites

Thanks for the thoughts. So, using ADO.Net to access MySQL in the same app is not preferred? The use of a second application doing the database calls is an interesting thought, and I can see how it would be more secure. Lot of choices.

Share this post


Link to post
Share on other sites

Yeah, I'm starting to ask myself the same. I could use the experience, but that's about it.

Share this post


Link to post
Share on other sites

What are you trying to do more exactly, shinypixel? ("...that I can read/write to it")

 

Reading sounds like requesting a file with the normal methods (HTTP/S).

"...that can be a security issue..." but it's usually not. You have to take care that your webserver software is uptodate and your configuration doesn't leave any vulnerabilities. That's very achievable and much can be learned by reading docs and forums.

 

"Write" on the other hand is a bit more tricky. I agree with nfactorial and spazzarama, that suggets a proper API (REST*, RPC) with access control. On the other hand, that is not as difficult as it may seem, because it has been done many times before. You'll find lots of information on the net and you can learn a great deal.

 

If you are not set on Microsoft technologies for your backend, I'd suggest Apache/MySQL/PHP (WAMP, MAMP, LAMP). It's easy to set up, get into and have quick results when prototyping.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement