Fantage who is kony




















Some are good at media streaming while some are powerful on user management. It is a socket server for Flash that provides powerful tools and resource management to enable highly productive development of virtual worlds and multiplayer games.

It was designed for Flash originally and now it also provides a set of API for iphone,. It also supports media streaming function by embedded open source Flash media server called Red5. It also supports clustering through terracotta, an open source clustering software. The logic is distributed into clustered servers and enables the ability to extend the scalability and enhances the failure resiliency. The server comes with fully-documented resources with lots of tutorials for beginners.

There is also an active forum to get support. SmartFoxServer provides different licenses and connection options for developers. It provides Lite, Basic, and Pro options with maximum connections from to unlimited. The Lite version is free with maximum 50 concurrent connections and Basic or Pro version are free for up to 20 concurrent connections. ElectroServer ElectroServer is another mature virtual world server for Flash that was developed by Electrotank in Similar to SmartFoxServer, ElectroServer provides powerful tools and fits the development of Flash virtual world server.

ElectroServer also provides scalability by load balancing with multiple gateway servers. ElectroServer also provides media streaming features. There are two packages with different media connections and concurrent player options available. The costs of ElectroServer can be expensive. The professional version is free up to 25 concurrent connections. Flash Media Interactive Server mainly targets real-time streaming and communicating technology that can stream videos with different popular codec and live stream.

It supports features such as server-side ActionScript extension and server-side shared objects to make it possible for virtual world development. Logic is kept in the origin server and clients connect to different edge servers, then edge servers connect to the origin server.

It is like the gateway approach from ElectroServer. However, the lack of game room management and game-related features means that developers have to write their own game management scripts. Red5 Red5 is one of the open source Flash socket servers that provides basic server-side features such as real-time protocol and shared memory. It aims to become an open source alternative of Flash Media Interactive Server and thus it is more powerful on video streaming than virtual world resources management.

As an alternative of Flash Media Server, it also lacks server-side game management features. However, as it is open source, you can extend the functionality of Red5 to fit your idea of the virtual world. However, available servers may not fit your budget or design ideas.

As an alternative solution, you can program your own socket server to handle Flash connections. What a virtual world server does is handle all connections and manage all zone, room, and user resources via a predefined protocol.

There are some resources from Internet that discuss how to develop a socket server. Although the article used an old version of Flash and the XML socket instead of the binary socket, it is a good starting point to learn the concept before developing the socket server. In a real case, two friends of mine implemented a Flash server in Java for one year and now they are working on several multiplayer games in it.

Choosing the right server SmartFox Server 1. They all provide solid zone, room, and user managements, and they are ready for extension and can scale big when the virtual world grows. Chapter 1 Throughout this book, all examples will be based on SmartFoxServer.

This keeps the flexibility to extend and spread the virtual world to other platforms with less effort. Application architecture of a virtual world There are two fundamental entities at the base of the SmartFoxServer architecture: Zones and Rooms. SmartFoxServer can run multiple applications at the same time. Each zone represents a different application. A developer can configure different zones to host different virtual worlds or games in the same server instance.

The activity, messages, and events are totally isolated among zones. Room can be created within zones to logically group users. Users in the same room can chat, interact, or play games together.

And those users in Room B would not receive this message because I'm only interacting with users in the same room. The following diagram shows the Zone, Room, and User relationship: Rooms can also be used as a tool to organize the virtual world's areas into different connected parts. Depending on the virtual world design, a room could represent an entire city, a street, or just a physical room inside a building. These rooms are connected so that when a user walks from one street into another street, he is leaving the old room and joining a new room that represents the street he is walking to.

Therefore, the resolution of the room that is representing affects how players can interact with others. For instance, users can interact with others within the same street if each street is represented by one room or they can interact with others within the same city if the entire city is represented by one room. The following diagram shows a virtual world in which each city is a room: [ 24 ]. It is time to put them together to get whole concept of how a virtual world works.

The following figure shows the components for a virtual world: The socket server is the core part. There is a database to store permanent data such as user account info. A server-side extension lets developers program server-side logic, which is related to the virtual world, such as a virtual items exchange or virtual money transaction. A server-side management component is in charge of following tasks: Handles and manages all socket connections Manages the memory of zones, rooms, and users Dispatches events and messages to appropriate clients, such as send messages when someone left the room Calls server-side functions when client requests, such as create room or send public message Calls server-side extension by clients requests [ 26 ].

It also contains an API for connection to server-side functions. Usually, there is an admin panel for the virtual world moderator to monitor the whole server.

The admin panel can access the server via API and query statistics from the server or perform some admin actions such as server configuration or kick-users.

Common features in virtual world There are some common features that often appears in a Flash virtual world. Avatar An avatar is an identity to represent the user when interacting in a virtual world. The avatar often means a character in Flash virtual world. Users can choose different appearances of the avatar and may even be able to customize the color and detail style.

The following screenshot is from the NuYu avatar editor from Data Design Interactive It allows avatar customization on every part of the face and the players can use these avatars in the games. There is usually a starting city that every new player arrives to.

Then players start their own journey in the virtual world by exploring different cities, places, and making game progress or interacting with others in different places in the world. Home Players may have their own private place called home. They can buy different things to decorate their home. They may invite friends to their home for private group chat.

The following screenshot is a home of a member in Fantage virtual world Players can customize their home with decorations that are available at the game store. They can also create party events that invite others to come and get special party items. Letting players collect items can be a good motivation to make them active in a virtual world. Some players will even put rare items in their home to show off how powerful they are. Items can also be mounted on avatars to enhance appearance and properties such as hats or magic ward.

Quests Quests are some tasks that players have to accomplish in order to gain rewards. Quests may require players to explore to a certain place, find certain rare items, perform social activity, or combat with some enemy creatures. The rewards are often virtual money, experience, or special items.

Non-player characters Non-player characters are characters that are controlled by the virtual world instead of by users. They often provide services to users such as selling items, providing quests, and giving introductions to new players. Some enemies or creatures may also be a non-player character.

Social features It is important to enhance the social features to keep a virtual world live. A successful virtual world let players know what others are doing, discuss the world with each other, and spread the news and progress to others. Casual game design versus MMOG Games in virtual worlds can be divided into two types casual games or massive multiplayer online games. In virtual worlds with casual games, there are many types of mini multiplayer games that players can join from the lobby.

Every mini game takes minutes to play with several competitors together. Players may continue to play different types of mini games after each round ends. In contrast to casual game types, virtual worlds with massive multiplayer game design requires players to play in the same world.

It is much like traditional role playing games in which players keep finishing quests in the world to make the story progress. Some virtual worlds provide a bunch of light-weight mini games that players can play with each other for fun while at the same time, helping players to keep finishing quests and exploring the world. Existing virtual world games There are several existing virtual worlds running successfully.

Some of them are Flash-based and some are not. We will introduce them here so that we can give them a try and get some inspiration before starting our virtual world design and development. It is a kind of casual game virtual world where players explore in a small town and play multiplayer mini games with each other.

It can be a good example of what Flash with socket server can do. It is a casual virtual world game in which players play mini games and some casual quests inside the world. It targets children whose age ranges from 6 to According to a document, the mole virtual world has a record of K peak concurrent players.

Players play against monsters in the virtual world to gain experiences to level up and earn points to buy equipment. Dofus in one of the most successful Flash virtual worlds and has 30 million registered players and K peak concurrent connections in World of Warcraft As one of the best-selling virtual world communities, it is worth taking a trial at this game.

World of Warcraft also referred as WoW, is a kind of serious game play virtual world that contains a huge worldview and complicated story.

WoW is a very huge 3D virtual world that contains over quests and 40, non-player characters. The 3D environment with large graphic assets exceeds the limit that Flash player can handle. According to a document from Blizzard, the company behind WoW, in , the World of Warcraft ran on over 13, server instances.

Summary In this chapter, we have a brief introduction to Flash multiplayer virtual world. We also get a rough idea on the architecture and features of a Flash virtual world and some common designs of virtual worlds. In the coming chapters, we will start by installing the socket server and will build a Flash virtual world step-by-step.

You load the web page in web browser and then log in with your username and password. You may need to fill out some basic information for the first time.

Then the Flash player is launched and finally you are connected to the virtual world and can interact with others. The socket server handles the virtual world after the player is connected to the virtual world. What about those web pages for virtual world information and SWF files? Yes, we need another web server and database server to handle the normal web request that is not the multiplayer part. In this chapter, we will understand the relationship of the servers and install the needed servers one by one to get them to work with each other.

There are three package options of SmartFoxServer. They are Lite version, Basic version, and Pro version. The demo license of the SmartFoxServer provides full features with 20 concurrent users maximum without time limitation. We will use the demo license to build the entire virtual world throughout the book. However, the lack of ActionScript 3. Moreover, it is being updated slowly so that many new features from Basic and Pro version are missing in Lite version.

When we compare the version number of the three options, we will know that Lite version is developing at a slow pace. The version of SmartFoxServer Pro is at the time of writing. The Basic version is and the Lite version is only Because of the slow update, not supporting ActionScript 3 and lack of features, it is not recommended to use Lite version in production. The administration panel lets moderators configure the zones, rooms, and users when the server is running.

However, the lack of server-side extension support limits the customizability of the socket server. It also means that all logic must reside on the client side.

This raises a security issue that the client may alter the logic to cheat. The Basic version provides enough features to build a Flash virtual world in small scale that does not require high security. If you need a specific server logic and room management or want to put logic in server side to prevent client-side cheating, Pro version is the choice. For example, we may want to override the "user lost" event so that we can save the user properties, telling others that someone is disconnected and something else.

In this case, we can write a function in server-side extension to handle all these things when the user lost, instead of running the default behavior that was provided by SmartFoxServer. The SmartFoxServer is written in Java. Therefore the native support language of server-side extension is Java. In order to reduce the development difficulties, SmartFoxServer supports Python and ActionScript as a server-side extension. The support of ActionScript makes it much more convenient for most Flash developers to develop the server-side extension without even knowing Java.

Please note that the version of ActionScript supported in server-side extension is ActionScript 1, instead of ActionScript 3. Take a look at the following code snippet on a server-side extension. The functions in server-side extensions are often similar to this one. It comes with arguments to know which user is calling this command at which room. In this snippet there is a command called getsomething and it will use the provided command parameters to get the result and return the result to the corresponding user.

Do not worry if this code looks confusing to you, we will learn the extension in more detail in later chapters. It is designed for both humans and machines to read and write the data easily. For example, we can format a list of users and their information with the following JSON code. The Pro version added support of JSON and raw data protocol make it possible to compress the transfer of data between clients and server.

The length of messages between clients and server is much shorter and it means the transmission speed is much faster. Take an example of a client sending data to a server with different protocols. We are now trying to fetch some data from the server, and this is what it looks like when sending a command to the server via different protocol. We are talking about several byte differences that may not be considered in a broadband Internet.

However, it is a must to consider every byte that was sent to the network because we are not talking about 29 bytes versus bytes in the real applications. Imagine there are players in the virtual world, sending similar commands every second. We are now talking about 2. The raw protocol format takes less bytes to represent the command because it does not contain the field name of the data. All parameters are position-dependent.

In the preceding command, the first parameter stands for an extension message and the second stands for the command name. Other command-specific parameters follow these two parameters. Raw protocol is position-dependent on the passing parameters while JSON is not.

It is recommended to use JSON protocol in most case and use the raw data protocol in real-time interaction parts. Also, we should state clearly in comments code what each parameters stands for because others cannot get the field information from the raw data. Flash applications always connect to database via server-side technique. The Pro version of SmartFoxServer provides direct database connectivity in server-side extension.

The Flash virtual world will call a function in sever-side extension and it will handle the database connection for the Flash. As the database connectivity is handled in server-side extension, Basic and Lite version does not contain this handy feature.

We have to wrap the database access in other server-side technique, such as PHP, to connect database in Basic and Lite version. However, we also need a web server and database set up in practical use.

It may be disorienting at the beginning that we are using three types of servers at the same time. The following graph shows how these servers are responsible for different roles. We need a web server to host the virtual world website and Flash SWF.

We also need a database server to store all user information permanently. Using the embedded HTTP server and database can enable a rapid prototype development because we can start coding the Flash prototype of the ideas in mind without handling any server setup issues. There are different situations on setting up the servers of Flash virtual world such as sometimes using SmartFoxServer with its embedded HTTP server and database while sometimes it is more beneficial to use SmartFoxServer with third-party servers.

It is a good practice to make a detailed plan before developing software, especially big scale software such as Flash virtual world. We are going to compare the development environment and deployment environment, with different sever settings that may be applied. Adjusting server setting for the deployment environment In deployment of the virtual world, we have to choose the SmartFoxServer to fit the platform of the server instead of your own development machine.

The SmartFoxServer may be a host in a standalone dedicated machine or a host within the same machine of the web server. There are many different combinations of setting up the servers and we will compare the common solutions. Hosting SmartFoxServer, web server, and database in one server For hosting a small-scale or mid-scale virtual world, hosting all severs in the same machine will be a good choice. In this case, there is not much difference between using the embedded web and database server, or using a third-party one.

The following figure shows host SmartFoxServer, web server, and database in one machine: [ 42 ]. This machine can virtually be a Virtual Private Server or physically a dedicated machine. More SmartFoxServer performance and scaling information can be found in the official SmartFoxServer documentation The following figure shows host SmartFoxServer in standalone: Chapter 2 As the web server and database are not in the same machine of the SmartFoxServer, the choice of the web server and database is open.

The web server can be Jetty, Apache, or others. Benefiting from setting up SmartFoxServer, web server, and database in different machines These servers are targeting different purposes and tasks. Each of them has a different requirement for server specification.

Therefore, they are often put into different machines so that each machine can have the performance tuned to fit each server's purposes best. It is common in game industry that you log in to different online games or virtual worlds with one user account.

After your virtual world has grown, you will probably have more than one server instance running the virtual world server. You may even have grown into to hosting several virtual worlds in several servers. The players will then query and authenticate from a standalone centralized database and then use that information to join different virtual worlds.

The following diagram shows a host multi-virtual world server with the same database: Setting up the development environment Unlike a deployment environment, it is common to have just once machine acting both as server and client in a development environment. The machine will have SmartFoxServer, web server, and database installed. In this case, there are no noticeable differences between using the embedded or third-party web server and database.

However, we will go through both solutions and focus on SmartFoxServer with a third-party web server and database combination. It is a good habit to simulate the deployment environment as much as possible in development stage. As we are going to use a third-party web server and database, we will set up a development environment that also uses the third-party server instead of the embedded web server and database.

The development tool compiles the Java source code into byte codes and the JRE is the response to execute the byte codes. We will need several Java compilations in later chapters. Go to 2. Click on the Download button of Java. It will lead to the Java SE Downloads page. Select Windows or Windows x64 for bits Windows in Platform. Click on Download. If it prompts an optional login request, we can click the Skip this Step to bypass it.

Launch the installer after the download. Install the Java Development Kit with all default settings. The Java environment is ready after installation completes. Launch terminal from Applications Utilities Terminal. Type the following and press the Enter key: javac version 3. In my case, it outputs: javac 1. The current version of SmartFoxServer at the time of writing recommends the version 1.

The software update will check for any updates for your existing Mac software, including the Java environment. We will show the general method and the Ubuntu method. Installing for General Linux 1. Go to in browser. Click on the Download button. The platform Linux should be selected automatically. Otherwise, select Linux or Linux x64 for bit Linux.

Click on Continue. If it prompts for login, click on Skip this Step to bypass it. For Redhat or Fedora Linux, choose the rpm-bin file to download. For other Linux, choose the. Launch terminal via Applications Accessories Terminal after the download completes. Chapter 2 8. Change the directory to the folder that contains the downloaded package.

The download destination varies from different profile settings. In my case, it is in Downloads folder. The version is Java 6 Update 20 at the time of writing and the filename is jdk-6ulinux-i The installer displays the license agreement. Type Yes at the end to agree and continue installation. Press the Enter key after the file's extraction to end the installation. We will search for the latest package name of the JDK by the following command: apt-cache search --names-only sun-java.

The result shows the available JDK packet names. We use the apt-get command to install the JDK: sudo apt-get install sun-java6-jdk 4.

Type in the user password because it requires user's password and the privilege to use apt-get. Go to in web browser. Select the OS platform. We will use Windows bit as an example here. The download will start after clicking on the Download button. For Linux platform that does not have a graphic user interface, you can follow these steps to download the SmartFoxServer Pro Linux xbit version: 1.

Go to the directory that planned to place the SmartFoxServer. Type the following line in the terminal to download the file: wget 3. The download will start after pressing the Enter key. Installing on Windows 1. Installing on Mac OSX 1. After downloading the SmartFoxServer, it will be automatically mounted. Open the Applications folder. Installing on Linux 1. Launch the terminal from Applications Accessories Terminal. A command prompt will then appear and it shows up logs of loading different modules.

Error messages may appear if there is any error that fails to start up the server. Double-click to launch it and it will also display the log in a window. Launch terminal from Applications Accessories Terminal. Go to the SmartFoxServer installation folder Server.

Type the following command in the terminal to launch the server:. The embedded web server and database are well-configured and run on startup by default. This lets developers rapidly develop the prototype of the virtual world without worrying about setting up different servers. After starting up the SmartFoxServer, go to in the web browser. If a webpage shows up with a message "SmartFoxServer Pro is installed successfully", it means the server is working with default settings.

You can modify and store static web pages within this folder to host the virtual world website. We will use the default saved settings to connect the H2 database.

If the development is based on H2 Database engine, we can test the database by clicking the Connect button with default settings. The upper part contains action buttons for operating the database such as the logout or execute commands. The left part lists all available users and tables. The right part is for inputting the SQL commands and viewing the results. H2 database is a light-weight engine that we need to operate the database by typing all the SQL commands ourselves. However, as explained before we will have SmartFoxServer running standalone while putting HTTP and database server in another standalone machine when the virtual world is released to public.

These kinds of server package features have easy install that auto-configures most of the server settings. It will also install some essential tools for beginners to manage the server easily, such as GUI server administration panel.

Click on Download WampServer to download the installer. Run the installer with all default settings. The server is configured and ready. Chapter 2 It will be in the task bar and the server management operation can be found by clicking the WampServer icon. We can start the server by putting the server online in the menu. The MAMP package can be downloaded at 1. Download the MAMP package from the official website. Double-click on the downloaded MAMP dmg file to mount it.

Different Linux distributions use different ways to install applications. There may not be a oneclick install method on some Linux branch which requires us to install the Apache and MySQL individually. Some Linux may provide graphic user interface to install LAMP by just selecting it in the applications list.

Type following command to install LAMP. The installer will progress and configure different modules. A dialog will prompt several times asking for a new MySQL root password. You can set your own MySQL password, while in the example we will leave the root password blank. After the completion of the installation, the MySQL server is set up as service in the system.

It runs automatically and we do not need to manually launch it to use it. Download the Platform Independent Zip Archive. It may ask you to log in to MySQL. Click on No thanks, just take me to the downloads! Choose a mirror to download by clicking on HTTP. We only need two among them. Extract the mysql-connector-java zip file to a temporary folder.

Open the folder and find the mysql-connector-java bin. Copy that jar file into SmartFoxServer installation directory jre lib ext. Go into the src directory of the extracted directory and copy the org directory to SmartFoxServer installation directory jre lib ext. Configuring the server settings The configuration file of SmartFoxServer is an XML file that allows us to configure many server settings. It can configure the initial zone or room creation, server address, admin authorization, value tuning for performance, and a lot more.

We are going to set the database connection for testing our setup in this chapter and we will go through some core settings in next chapter. Open the config. Go to line of the config.

This line should be within the structure of a Zone tag with name as dbzone. Change the lines from the config. We also changed the user name and password of the connection to the database to "root" and empty password. We will use the empty password through out the development process but it is strongly recommended to set your own database user password. There is a TestSQL setting where we can write a simple database query so that the SmartFoxServer will try to run it to test if the database connection is correct.

As we have not created any new databases for the virtual world, we will test the database connection by querying the current server time.

Restarting the server We've just set up the connection between SmartFoxServer and third-party database. It is time to test the new setting by restarting the SmartFoxServer. There is a log that appears as usual after we start up the server again.

It is important to check the log carefully every time the config. The logfile can provide details of any errors that occur when it tries to load the configure file. For example, if we configure the database connection just now but forget to activate the DatabaseManager, the server will start up correctly. Then you may spend a lot of time debugging why the database connection is not working until you find that the DatabaseManager is not active at all. This happened to me several times while I was developing my first Flash virtual world.

If the server is running with the new database connection settings, the following lines will be appearing in the log. There can be different database manager settings for each zone. When checking the log, we should be aware which zone the log is referring to. We are configuring the database manager of dbzone zone now. DB Manager Activated org.

Instead, the following message may appear in the log: DB Manager is not active in this Zone! Moreover, if the SmartFoxServer faces some fatal error on start up, it will terminate itself with more detailed error logs.

The following lines are an example for error logs that appear when the MySQL connector file is missing: Can't load db driver: org. Please check your configuration. These lines state that the testing SQL failed to run, which we just set to test the connection. It also describes what exception has caused this error to help the debugging.

Chapter 2 1. Start the SmartFoxServer if it is not running. Browse to in the web browser. It will load the default page of the embedded web server with SmartFoxServer logo. Click the Install Examples if this is the first time while running the examples. Click the Browse Examples after the installed examples.

A list of examples appear and you click on them to have some ideas on what SmartFoxServer can basically do. After loading the simple chat, a progress bar appears with the text connecting to server.

If the example failed to connect the server, it will freeze at that screen. If it is connected to the server, a login box appears and asks for the login name.

If you failed to see the login box, there is something wrong. It may be a wrong setting in the configuration file, it may be some other issue that failed to start up the SmartFoxServer, or it may be some issue between the testing browser and the server, for example, firewall port blocking.

Special thanks to the contributors of the open-source code that was used in this project: krisk , HubSpot , and mongodb. Finally, you might like to check out the growing collection of curated slang words for different topics over at Slangpedia. Please note that Urban Thesaurus uses third party scripts such as Google Analytics and advertisements which use cookies. To learn more, see the privacy policy. Popular Slang Searches.

Urban Thesaurus The Urban Thesaurus was created by indexing millions of different slang terms which are defined on sites like Urban Dictionary. Recent Slang Thesaurus Queries. Tell your friends, family anyone this campaign will end april 20th so spread his name all over so that no other children can suffer that pain.

Kony kony kony kony kony kony kony kony kony kony kony kony kony kony kony kony kony kony kony kony kony kony kony kony kony kony kony kony kony kony kony kony kony They are buying action kits, they are supporting the Kony website, and they are sharing the Kony video with everyone they know.

The more people who are aware, the more Kony can help arrest Kony and end his injustice. TRI is helping Kony Kony has been around since You can get the Kony action pack below in the Related Link s.

The reason why Kony is becoming famous is because people are taking action in trying to stop and arrest Kony. The money will go to help the U. It will provide technology needed to capture him. An excellent source to find more information on Kony is to go to the source itself, Jason Russell, the maker of Kony Also, YouTube and the great, Wikipedia will give a wealth of information.

The Invisible Children campaign made the video Kony For a link to the video, please see the Related Link below. Kony is real!

Some people are saying that is a scam, but really there is proof he is real! Find more info at the website in related links. KONY See the related link below for their official website information. Kony Log in. Study now. See Answer.

Best Answer. Study guides. Math and Arithmetic 32 cards.



0コメント

  • 1000 / 1000